201043_12 default
authorhgs
Tue, 02 Nov 2010 15:42:21 +0000
changeset 301 172f33f13d7d
parent 300 1d28c8722707
201043_12
kernel/eka/drivers/hcr/hcr_hai.h
kernel/eka/include/e32const.h
kernel/eka/include/e32def.h
kernel/eka/include/e32ver.h
kernel/eka/release.txt
--- a/kernel/eka/drivers/hcr/hcr_hai.h	Tue Nov 02 15:29:23 2010 +0000
+++ b/kernel/eka/drivers/hcr/hcr_hai.h	Tue Nov 02 15:42:21 2010 +0000
@@ -22,7 +22,6 @@
 Interface (SHAI) for variants to implement when creating a HCR.dll binary.
 
 @publishedPartner
-@prototype
 */
 
 #ifndef HCR_HAI_H
@@ -74,11 +73,12 @@
         
         
     	/**
-        This method returns the address of the compile time setting repository 
-        built into the variant HCR.dll project/binary. This repository is 
-        optional and may be absent in which case 0 should be returned in aAddr. 
+        This method returns the virtual address of the compile time setting 
+		repository built into the variant HCR.dll project/binary. This 
+		repository is optional and may be absent in which case 0 should be 
+		returned in aAddr. 
          
-        @param aAddr out: a pointer to a HCR::SRepositoryCompiled 
+        @param aAddr out: the virtual address of a HCR::SRepositoryCompiled 
     	@return	KErrNone if successful, output parameters valid,
     	        KErrNotSupported if a compile time repository is not supported,
     	        Any other system wide error code.
@@ -98,17 +98,25 @@
         virtual TBool IgnoreCoreImgRepository () = 0;
         
     	/**
-        This method returns the address of the override repository that 
-        provides override values for the variant. Typically this repository
-        is held in local media and shadowed in RAM by the OS loader. It is
-        a read-only settings repository. This repository is optional and may 
-        be absent in which case 0 should be returned in aAddr.
+        This method returns the virtual address of the override repository that 
+        provides override read-only values for the variant. Typically this 
+		repository is held in local media and shadowed into physical RAM by
+		the OS loader and later reserved by the OS bootstrap.
+		The implementation will find the physical address of the reserved RAM 
+		containing the HCR payload in the SSmrBank entry of the SSuperPageBase 
+		object. It will need to map this RAM into a DChunk to return a valid 
+		virtual address pointer. 
+		This repository is optional and may be absent in which case 0 should
+		be returned in aAddr.
          
-        @param aAddr out: a pointer to a HCR::SRepositoryFile
+        @param aAddr out: the virtual address of the HCR::SRepositoryFile 
+                          object inside the DChunk. 
     	@return	KErrNone if successful, output parameters valid,
-    	        KErrNotSupported if a compile time repository is not supported,
+    	        KErrNotSupported if a override repository is not supported,
     	        Any other system wide error code.
         @see HCR::SRepositoryFile
+        @see SSuperPageBase
+        @see SSmrBank
        	*/
         virtual TInt GetOverrideRepositoryAddress(TAny* & aAddr) = 0;
         
--- a/kernel/eka/include/e32const.h	Tue Nov 02 15:29:23 2010 +0000
+++ b/kernel/eka/include/e32const.h	Tue Nov 02 15:42:21 2010 +0000
@@ -1397,14 +1397,16 @@
 @publishedAll
 @released
 
-An enumerator with a single enumeration value that defines the Boolean value 
-true in Symbian OS.
+An enumerator with a single enumeration value that defines a default true
+value in Symbian OS.
+
+In general, this value should not be used for comparisons (see TBool for more information).
 
 @see TBool
 */
 enum TTrue {
            /**
-           Defines the value true that is passed to a TBool type.
+           Defines a value true that can be passed to a TBool type.
            */
            ETrue=TRUE
            };
--- a/kernel/eka/include/e32def.h	Tue Nov 02 15:29:23 2010 +0000
+++ b/kernel/eka/include/e32def.h	Tue Nov 02 15:42:21 2010 +0000
@@ -311,11 +311,11 @@
 Symbolic definition for a false value.
 */
 #define FALSE 0
+
+
+
+
 #ifndef NULL
-
-
-
-
 /**
 @publishedAll
 @released
@@ -754,12 +754,81 @@
 @publishedAll
 @released
 
-Boolean type which takes the value either ETrue or EFalse.
-
-Although only a single bit would theoretically be necessary to represent a 
-Boolean, a machine word is used instead, so that these quantities can be easily 
-passed. Also, TBool must map onto int because of C++'s interpretation of 
-operands in conditional expressions.
+Integer type representing true or false.
+
+False is always represented by 0; any non-zero value is true.
+
+Values of type TBool must never be compared against ETrue; so instead of
+
+@code
+TBool foo(void);
+
+if (foo() == ETrue) bar();
+@endcode
+
+use
+
+@code
+TBool foo(void);
+
+if (foo()) bar();
+@endcode
+
+And, instead of '!= ETrue' use '== EFalse' or the following (preferred):
+
+@code
+TBool this(void);
+
+if (!this()) that();
+@endcode
+
+When returning a TBool, rather than
+
+@code
+TBool List::IsEmpty(void)
+	{
+	return iAnchor == NULL ? ETrue : EFalse;
+	}
+@endcode
+
+use
+
+@code
+TBool List::IsEmpty(void)
+	{
+	return iAnchor == NULL;
+	}
+@endcode
+
+and rather than
+
+@code
+TBool SerialPort::DataPresent(void)
+	{
+	// Fictitious example
+	volatile TUint *statusReg = (TUint *)0x1000;
+
+	if ((*statusReg & 0x00FF0000) != 0)
+		return ETrue;
+	else
+		return EFalse;
+	}
+@endcode
+
+use
+
+@code
+TBool SerialPort::DataPresent(void)
+	{
+	// Fictitious example
+	volatile TUint *statusReg = (TUint *)0x1000;
+
+	return *statusReg & 0x00FF0000;
+	}
+@endcode
+
+@see EFalse
+@see ETrue
 */
 typedef int TBool;
 
@@ -1281,7 +1350,7 @@
 Note that the macro definition is, in effect, equivalent to: 
 
 @code
-if !(c)p;
+if (!c)p;
 @endcode
 
 @param c a conditional expression which results in true or false.
--- a/kernel/eka/include/e32ver.h	Tue Nov 02 15:29:23 2010 +0000
+++ b/kernel/eka/include/e32ver.h	Tue Nov 02 15:42:21 2010 +0000
@@ -28,7 +28,7 @@
 
 const TInt KE32MajorVersionNumber=2;
 const TInt KE32MinorVersionNumber=0;
-const TInt KE32BuildVersionNumber=4015;
+const TInt KE32BuildVersionNumber=4016;
 
 const TInt KMachineConfigurationMajorVersionNumber=1;
 const TInt KMachineConfigurationMinorVersionNumber=0;
--- a/kernel/eka/release.txt	Tue Nov 02 15:29:23 2010 +0000
+++ b/kernel/eka/release.txt	Tue Nov 02 15:42:21 2010 +0000
@@ -1,3 +1,14 @@
+Version 2.00.4016
+=================
+(Made by fadhliM 01/11/2010)
+
+1.	stmansfi
+	1.	ou1cimx1#633842 (KHS) HCR shai in-source documentation not crystal clear
+
+2.	tocosgro
+	1.	ou1cimx1#630148 TBool Documentation is incorrect
+
+
 Version 2.00.4015
 =================
 (Made by fadhliM 27/10/2010)