#include <barsc2.h>
class CResourceFile : public CBase |
Public Member Functions | |
---|---|
virtual | ~CResourceFile() |
IMPORT_C HBufC8 * | AllocReadL(TInt) |
IMPORT_C HBufC8 * | AllocReadLC(TInt) |
IMPORT_C void | ConfirmSignatureL(TInt) |
IMPORT_C void | ConfirmSignatureL() |
IMPORT_C CResourceFile * | NewL(RFs &, const TDesC &, TUint, TInt) |
IMPORT_C CResourceFile * | NewL(const TDesC8 &) |
IMPORT_C CResourceFile * | NewLC(RFs &, const TDesC &, TUint, TInt) |
IMPORT_C TInt | Offset() |
IMPORT_C TBool | OwnsResourceIdL(TInt) |
IMPORT_C void | ReadL(TDes8 &, TInt) |
IMPORT_C TInt | SignatureL() |
IMPORT_C TUidType | UidType() |
Accesses a resource file or resource file buffer and reads the resource data into a buffer.
Interpretation of the data is achieved using the RResourceReader class. CResourceFile methods behaviour when some problem occurs - it leaves with an error code. Most of the time the error code will be KErrCorrupt.
See also: RResourceReader
IMPORT_C | ~CResourceFile | ( | ) | [virtual] |
Frees the resources, allocated by the instance.
Reads a resource into a heap descriptor and returns a pointer to that descriptor.
A heap descriptor of appropriate length is allocated for the resource. Ownership of the heap descriptor passes to the caller who must destroy it when it is no longer needed.
The search for the resource uses the following algorithm:
A resource id in the range 1 to 4095 is looked up in this resource file. The function leaves if there is no matching resource.
If the resource id is greater than 4095, then the most significant 20 bits of the resource id is treated as an offset and the least significant 12 bits is treated as the real resource id. If the offset matches the offset value defined for this file, then the resource is looked up in this resource file using the real resource id (i.e. the least significant 12 bits). If the offset does not match, then the function leaves.
Note, do not call this function until a call to ConfirmSignatureL() has completed successfully.
See also: RResourceFile::Offset()
Parameters | |
---|---|
aResourceId | The numeric id of the resource to be read. |
Leave Codes | |
---|---|
The | function leaves if this resource id is not in this resource file or the file is corrupted. |
Reads a resource into a heap descriptor, returns a pointer to that descriptor and pushes the pointer onto the cleanup stack.
A heap descriptor of appropriate length is allocated for the resource. Ownership of the heap descriptor passes to the caller who must destroy it and pop its pointer off the cleanup stack when it is no longer needed.
The search for the resource uses the following algorithm:
A resource id in the range 1 to 4095 is looked up in this resource file. The function leaves if there is no matching resource.
If the resource id is greater than 4095, then the most significant 20 bits of the resource id is treated as an offset and the least significant 12 bits is treated as the real resource id. If the offset matches the offset value defined for this file, then the resource is looked up in this resource file using the real resource id (i.e. the least significant 12 bits). If the offset does not match, then the function leaves.
Note, do not call this function until a call to ConfirmSignatureL() has completed successfully.
See also: RResourceFile::Offset()
Parameters | |
---|---|
aResourceId | The numeric id of the resource to be read. |
Leave Codes | |
---|---|
The | function leaves if this resource id is not in this resource file or the file is corrupted. |
IMPORT_C void | ConfirmSignatureL | ( | TInt | aSignature | ) |
Initialises the offset value from the first resource.
The function assumes that the first resource in the file consists of two 32-bit integers. The first integer contains the version number and the second is a self-referencing link whose value is the offset for the resources in the file, plus 1.This function must be called before calling Offset(), AllocReadL(), AllocReadLC() or ReadL().
Parameters | |
---|---|
aSignature | This argument value is not used by the function. |
Leave Codes | |
---|---|
The | function leaves if this resource id is not in this resource file or the file is corrupted. |
IMPORT_C void | ConfirmSignatureL | ( | ) |
Initialises the offset value from the first resource.
Leave Codes | |
---|---|
The | function leaves if this resource id is not in this resource file or the file is corrupted. |
IMPORT_C CResourceFile * | NewL | ( | RFs & | aFs, |
const TDesC & | aName, | |||
TUint | aFileOffset, | |||
TInt | aFileSize | |||
) | [static] |
Parameters | |
---|---|
aFs | Handle to a file server session. |
aName | File to open as a resource file. |
aFileOffset | The resource file section offset from the beginning of the file. |
aFileSize | The resource file section size. |
Leave Codes | |
---|---|
KErrCorrupt | if the file is corrupted. |
KErrNoMemory | if there is not enough memory for the object. |
IMPORT_C CResourceFile * | NewL | ( | const TDesC8 & | aRscFileBuffer | ) | [static] |
Parameters | |
---|---|
aRscFileBuffer | a buffer containing one entire resource file |
Leave Codes | |
---|---|
KErrCorrupt | if the file buffer is corrupted. |
KErrNoMemory | if there is not enough memory for the object. |
IMPORT_C CResourceFile * | NewLC | ( | RFs & | aFs, |
const TDesC & | aName, | |||
TUint | aFileOffset, | |||
TInt | aFileSize | |||
) | [static] |
Parameters | |
---|---|
aFs | Handle to a file server session. |
aName | File to open as a resource file. |
aFileOffset | The resource file section offset from the beginning of the file. |
aFileSize | The resource file section size. |
Leave Codes | |
---|---|
KErrCorrupt | if the file is corrupted. |
KErrNoMemory | if there is not enough memory for the object. |
IMPORT_C TInt | Offset | ( | ) | const |
Returns the offset value defined for this resource file.
This function must not be called until a call to ConfirmSignatureL() has completed successfully, otherwise the value returned by this function may be meaningless.
Parameters | |
---|---|
aResourceId | The resource id to test. |
Leave Codes | |
---|---|
KErrCorrupt | - the file is corrupted. Some other error codes are possible. |
Reads a resource specified by resource id into the specified descriptor.
The descriptor must be long enough to contain the entire resource
The search for the resource uses the following algorithm:
A resource id in the range 1 to 4095 is looked up in this resource file. The function leaves if there is no matching resource.
If the resource id is greater than 4095, then the most significant 20 bits of the resource id is treated as an offset and the least significant 12 bits is treated as the real resource id. If the offset matches the offset value defined for this file, then the resource is looked up in this resource file using the real resource id (i.e. the least significant 12 bits). If the offset does not match, then the function leaves.
Note, do not call this function until a call to ConfirmSignatureL() has completed successfully.
Parameters | |
---|---|
aDes | On return, contains the resource that has been read. The function leaves if the descriptor is not long enough to contain the entire resource. |
aResourceId | The numeric id of the resource to be read. The function leaves if this resource id is not in this resource file. |
Leave Codes | |
---|---|
The | function leaves if this resource id is not in this resource file or the file is corrupted. |
IMPORT_C TInt | SignatureL | ( | ) | const |
Returns this resource file's version number.
See also: RResourceFile::ConfirmSignatureL()
Leave Codes | |
---|---|
KErrCorrupt | - the file is corrupted. |
IMPORT_C TUidType | UidType | ( | ) | const |
Returns this resource file's UIDs.