Public Attributes | |
---|---|
const TInt | KClientMessageVersion |
const TInt | KErrBadMessageSchema |
const TInt | KErrBadParameter |
const TInt | KErrInvalidFunction |
const TInt | KErrNotInitialised |
const TInt | KErrNotValidated |
const TInt | KErrWrongParameterType |
const TInt | KMaxParameters |
const TParameterDetails | KNoParams |
const TInt | KParamTypeMask |
const TInt | KShift16Bit |
const TInt | KValidationFnIndexMask |
Public Member Enumerations | |
---|---|
enum | anonymous { ECMPanicWrongParameterType, ECMPanicBadDescriptor, ECMPanicBadMessageSchema } |
enum | TFlagValues { EFlagParam0Validated, EFlagParam1Validated, EFlagParam2Validated, EFlagParam3Validated, ..., EFlagLogBadMessages } |
enum | TLineType { EComment, ESection, EKeyValue } |
enum | TParamType { EParamNull, EParamInt, EParamDes8Read, EParamDes8, ..., EParamPtr } |
enum | TServerFlags { ESrvFlagNone, ESrvFlagDoNotPanicClientOnBadMessageErrors, ESrvFlagLogBadMessages } |
typedef CIniDocumentTmplX< TDesC16, TPtrC16, CIniSection16, TLex16, TPtr16, HBufC16, CIniLine16, CIniKey16 > | CIniDocumentTmpl16 |
typedef CIniDocumentTmplX< TDesC8, TPtrC8, CIniSection8, TLex8, TPtr8, HBufC8, CIniLine8, CIniKey8 > | CIniDocumentTmpl8 |
typedef CIniFileImplX< TDesC16, TPtrC16, HBufC16, TLex16, TPtr16, TPattern16, CIniLine16 > | CIniFileTmpl16 |
typedef CIniSecIterImplX< TDesC16, TPtrC16, CIniSection16, CIniDocument16, CIniKey16 > | CIniSecIterTmpl16 |
typedef CIniSecIterImplX< TDesC8, TPtrC8, CIniSection8, CIniDocument8, CIniKey8 > | CIniSecIterTmpl8 |
typedef CIniSection< TDesC16, HBufC16, TPtrC16, CIniKey16, CIniLine16, TPtr16, TLex16 > | CIniSection16 |
typedef void(* | TCustomValidationFn |
This typedef is used to simplify the declaration of custom parameter validation functions
typedef CMessageParameterBase *(* | TMessageParameterFactoryFn |
This typedef is used to simplify the declaration of the message schema table defined by the server.
typedef TBuf16< 6 > | TPattern16 |
typedef TBuf8< 6 > | TPattern8 |
const TInt | KClientMessageVersion |
const TInt | KErrBadMessageSchema |
Returned to caller in UREL mode when a message is found to be incorrectly defined in the message schema.
const TInt | KErrBadParameter |
Returned to caller if a message is passed in containing a non-descriptor parameter which doesn't meet the constraints specified in the schema
const TInt | KErrInvalidFunction |
Returned to caller to indicate that the requested message number is not supported by the current server
const TInt | KErrNotInitialised |
Returned to caller to indicate that the ClientMessage framework has not yet been initialised
const TInt | KErrNotValidated |
Returned to caller to indicate that the requested parameter has not yet been validated
const TInt | KErrWrongParameterType |
Returned to caller in UREL mode when the server attempts to call a CMessageParameterBase function which is not defined for the given parameter type. E.g. calling GetIntL() on a Descriptor parameter.
const TInt | KMaxParameters |
This defines the maximum number of parameters that can be stored in a TClientMessageSchema structure. This corresponds to the maximum number of arguments in an RMessage2
const TParameterDetails | KNoParams |
This TParameterDetails structure is used to represent a message with no parameters. This is required as the schema expects a const TParameterDetails*.
const TInt | KParamTypeMask |
This mask is used to select the parameter type from TParameterDetails.iType
const TInt | KShift16Bit |
This is used to shift down the value masked using KValidationFnIndexMask
const TInt | KValidationFnIndexMask |
This mask is used to select the validation function index from TParameterDetails.iType
This is the list of Panic codes used by the ClientMessage framework
Enumerator | Value | Description |
---|---|---|
ECMPanicWrongParameterType | 0 |
This panic is raised in UDEB mode when the server attempts to call a CMessageParameterBase function which is not defined for the given parameter type. E.g. calling GetIntL() on a Descriptor parameter. |
ECMPanicBadDescriptor |
This panic is raised when the server attempts to read from a descriptor in the clients process and supplies a target descriptor that is smaller than the client descriptor. | |
ECMPanicBadMessageSchema |
This panic is raised when a TParameterDetails structure for a given parameter is incorrectly defined in the message schema |
This enum lists the flags currently represented by the TBitFlags32 CClientMessage::iFlags
Enumerator | Value | Description |
---|---|---|
EFlagParam0Validated | 0 | |
EFlagParam1Validated | ||
EFlagParam2Validated | ||
EFlagParam3Validated | ||
EFlagPanicClient |
Informs CompleteRequestL() that message not valid as client has already been panicked. | |
EFlagDoNotPanicClientOnBadMessageErrors | 30 |
Setting this flag indicates that for bad message errors, request should be completed with error code rather than panicking the client |
EFlagLogBadMessages | 31 |
This Enum lists the currently supported Parameter types. These enum values are used as indices to the Parameter Factory Function which instantiates the appropriate CMessageParammeterBase derived object to represent a given message parameter.
Enumerator | Value | Description |
---|---|---|
EParamNull | 0 | |
EParamInt | ||
EParamDes8Read | ||
EParamDes8 | ||
EParamPckg | ||
EParamDes16Read | ||
EParamDes16 | ||
EParamPtr |
This enum lists the currently supported flags that can be passed to the server in TClientMessageServerData::iFlags. Note that internally this value is stored in a TBitFlags32 type but this type cannot be statically initialised in a dll so the value is passed to the framework in a TInt. The bottom 16 bit flags are reserved for the framework's internal use.
Enumerator | Value | Description |
---|---|---|
ESrvFlagNone | 0 |
Default empty flag |
ESrvFlagDoNotPanicClientOnBadMessageErrors | 0x40000000 |
Setting this flag indicates that for bad message errors, request should be completed with error code rather than panicking the client |
ESrvFlagLogBadMessages | 0x80000000 |
Indicates that bad messages should be logged in UDEB |
void | CorruptIfL | ( | TBool | aIsCorrupt | ) | [static] |
TInt | CountTokens | ( | TPtrCX | aLine | ) |
TPtrCX | ExtractLineFromBuffer | ( | const TPtrCX & | aFileBuffer, |
TInt | aStartOffset | |||
) |
TBool | IsEosAfterSpace | ( | TLexX & | aLex | ) |
NONSHARABLE_CLASS | ( | CCachedDriveInfo | ) |
Class used to cache F32 drive information.
See also: TDriveInfo
NONSHARABLE_CLASS | ( | CClientMessage | ) |
This class is used by a server to sanitise incoming messages. The class provides a wrapper around an RMessage2 object and provides a method for validation of the message against the constraints defined in the message schema. This class also provides methods for safely accessing the message arguments, and for error handling and logging of bad messages. This class is not intended for derivation.
NONSHARABLE_CLASS | ( | CDes16Parameter | ) |
This class implements the behaviour for a read 16 bit descriptor parameter type. The ValidateL function checks that the MaxLength of the descriptor in the clients process is not less than iMin and that the length of the descriptor does not exceed iMax defined in the message schema.
NONSHARABLE_CLASS | ( | CDes16ReadParameter | ) |
This class implements the behaviour for a read only 16 bit descriptor parameter type. The ValidateL function checks that the length of the descriptor argument in the clients process does not exceed iMax defined in the message schema.
NONSHARABLE_CLASS | ( | CDes8Parameter | ) |
This class implements the behaviour for a read 8 bit descriptor parameter type. The ValidateL function checks that the MaxLength of the descriptor in the clients process is not less than iMin and that the length of the descriptor does not exceed iMax defined in the message schema.
NONSHARABLE_CLASS | ( | CDes8ReadParameter | ) |
This class implements the behaviour for a read only 8 bit descriptor parameter type. The ValidateL function checks that the length of the descriptor argument in the clients process does not exceed iMax defined in the message schema.
NONSHARABLE_CLASS | ( | CIniDocument16 | ) |
Dom parser for 16 bit ini file. This class provides the functionality to read and write settings of an 16 bit ini file.
NONSHARABLE_CLASS | ( | CIniDocument16Impl | ) |
NONSHARABLE_CLASS | ( | CIniDocument8 | ) |
Dom parser for 8 bit ini file. This class provides the functionality to read and write settings of an 8 bit ini file.
NONSHARABLE_CLASS | ( | CIniDocument8Impl | ) |
NONSHARABLE_CLASS | ( | CIniDocumentTmplX | ) |
NONSHARABLE_CLASS | ( | CIniFile16 | ) |
A light weight parser for reading setting values from a 16 or 8 bit ini file. The aConvert8To16 parameter of NewL controls whether or not 8 bit files are accepted. Note that this does not guarantee checking that the ini file is wellformed.
NONSHARABLE_CLASS | ( | CIniFile16Impl | ) |
NONSHARABLE_CLASS | ( | CIniFile8 | ) |
A light weight parser for reading setting values from an 8 bit ini file. Note that this does not guarantee checking that the ini file is wellformed. See CIniFile16 for a class that handles both 8 and 16 bit files.
NONSHARABLE_CLASS | ( | CIniFile8Impl | ) |
NONSHARABLE_CLASS | ( | CIniFileImplX | ) |
NONSHARABLE_CLASS | ( | CIniKey | ) |
NONSHARABLE_CLASS | ( | CIniLine | ) |
NONSHARABLE_CLASS | ( | CIniSecIter16 | ) |
Section iterator for 16 bit ini file. This class provides an iterator to navigate through the settings within a section inside an 16 bit ini file.
NONSHARABLE_CLASS | ( | CIniSecIter16Impl | ) |
NONSHARABLE_CLASS | ( | CIniSecIter8 | ) |
Section iterator for 8 bit ini file. This class provides an iterator to navigate through the settings within a section inside an 8 bit ini file.
NONSHARABLE_CLASS | ( | CIniSecIter8Impl | ) |
NONSHARABLE_CLASS | ( | CIniSecIterImplX | ) |
NONSHARABLE_CLASS | ( | CIniSection | ) |
NONSHARABLE_CLASS | ( | CIntParameter | ) |
This class implements the behaviour for a TInt parameter type. The ValidateL function reads the Int value from the clients message and checks that the value read is between the iMax and iMin constraints defined in the message schema.
NONSHARABLE_CLASS | ( | CMessageParameterBase | ) |
This is the abstract base class for all message parameter classes. The class defines one pure virtual function, ValidateL, which all derived classes must implement. This class also defines default implementation for the access methods which should be properly defined in all derived classes. This class is not intended for external derivation.
NONSHARABLE_CLASS | ( | CPckgParameter | ) |
This class implements the behaviour for a generic TPckg<> parameter type. The ValidateL function calls the custom validation function passed in to the object on creation.
NONSHARABLE_CLASS | ( | CPtrParameter | ) |
This class implements the behaviour for a Ptr parameter type. The ValidateL function reads the TAny* from the clients message and stores it for retrieval.