# HG changeset patch # User hgs # Date 1288712541 0 # Node ID 172f33f13d7de36d18629f163f9b3913c1fb11dd # Parent 1d28c8722707b13f716f070cf2bba8e90f8085fb 201043_12 diff -r 1d28c8722707 -r 172f33f13d7d kernel/eka/drivers/hcr/hcr_hai.h --- 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; diff -r 1d28c8722707 -r 172f33f13d7d kernel/eka/include/e32const.h --- 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 }; diff -r 1d28c8722707 -r 172f33f13d7d kernel/eka/include/e32def.h --- 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. diff -r 1d28c8722707 -r 172f33f13d7d kernel/eka/include/e32ver.h --- 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; diff -r 1d28c8722707 -r 172f33f13d7d kernel/eka/release.txt --- 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)