Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: barsc.h
Link against: bafl.lib

Class RResourceFile

RResourceFile

Support

Supported from 5.0

Description

Accesses a resource file and reads the resource data into a buffer.

Interpretation of the data is achieved using the TResourceReader class.

Defined in RResourceFile:
AllocReadL(), AllocReadLC(), Close(), ConfirmSignatureL(), Offset(), OpenL(), OwnsResourceId(), RResourceFile(), ReadL(), SignatureL()

See also:


Construction and destruction


RResourceFile()

RResourceFile();

Description

Constructs a default resource file object.

[Top]


Opening and closing


OpenL()

void OpenL(RFs& aFs,const TDesC& aName);

Description

Opens the resource file reader.

The resource file reader must be opened before reading resources or checking the signature of the resource file.

If the function is successful, a cleanup item is placed onto the cleanup stack for the resource file; if a leave occurs, the resource file is closed.

Parameters

RFs& aFs

Handle to a file server session

const TDesC& aName

File to open as a resource file

Leave codes

 

The function leaves if the named file cannot be opened or the header record at the beginning of the file cannot be read.


Close()

void Close();

Description

Closes the resource file reader.

This function is called after finishing reading all resources.

[Top]


Reading resources


AllocReadL()

HBufC8* AllocReadL(TInt aResourceId) const;

Description

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:

Note, do not call this function until a call to ConfirmSignatureL() has completed successfully.

Parameters

TInt aResourceId

The numeric id of the resource to be read.

Return value

HBufC8*

Pointer to an 8 bit heap descriptor containing the resource.

See also:


AllocReadLC()

HBufC8* AllocReadLC(TInt aResourceId) const;

Description

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:

Note, do not call this function until a call to ConfirmSignatureL() has completed successfully.

Parameters

TInt aResourceId

The numeric id of the resource to be read.

Return value

HBufC8*

Pointer to a heap descriptor containing the resource.

See also:


ReadL()

void ReadL(TDes8& aDes,TInt aResourceId) const;

Description

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:

Note, do not call this function until a call to ConfirmSignatureL() has completed successfully.

Parameters

TDes8& 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.

TInt aResourceId

The numeric id of the resource to be read. The function leaves if this resource id is not in this resource file.

See also:

[Top]


Multiple resource file support


SignatureL()

TInt SignatureL() const;

Description

Returns this resource file's version number.

The function assumes that the first resource in the file consists of two 32-bit integers. The first integer contains the version number.

Return value

TInt

The version number

See also:


ConfirmSignatureL()

void ConfirmSignatureL(TInt /*aSignature*/);

Description

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

TInt aSignature

This argument value is not used by the function.

See also:


Offset()

TInt Offset() const;

Description

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.

Return value

TInt

The offset value defined for this resource file.

See also:


OwnsResourceId()

TBool OwnsResourceId(TInt aResourceId) const;

Description

Tests whether the resource file owns the specified resource id.

The resource file owns the resource id if the most significant 20 bits of the resource id are zero or match the offset value as returned from a call to the Offset() member function.

Parameters

TInt aResourceId

The resource id to test.

Return value

TBool

True, if the resource file owns the id, false otherwise

See also: