Location:
fepbase.h
Link against: fepbase.lib
MFepAttributeStorer
Supported from 6.0
Protocol for storing, restoring and synchronising FEP attributes.
An abstract base class for CCoeFep
, so FEPs must
implement the pure virtual functions declared in this class.
Rather than using a single device-wide instance of a FEP, each application has its own instance of the FEP. MFepAttributeStorer
provides a framework for synchronising
FEP
attributes across each running instance of the same FEP. For this to happen, the FEP must implement
MFepAttributeStorer::WriteAttributeDataToStreamL()
and
MFepAttributeStorer::ReadAttributeDataFromStreamL()
.
Attributes
are FEP-specific, and are identified by a UID which can be accessed using
AttributeAtIndex()
. An example of a FEP attribute might be whether
inline editing is enabled or disabled.
Defined in MFepAttributeStorer
:
AttributeAtIndex()
, NumberOfAttributes()
, ReadAllAttributesL()
, ReadAttributeDataFromStreamL()
, WriteAttributeDataAndBroadcastL()
, WriteAttributeDataToStreamL()
void ReadAllAttributesL(CCoeEnv& aConeEnvironment);
Reads all of the FEP's attributes from the system settings.
Calls the implementation of ReadAttributeDataFromStreamL()
for
each attribute.
This function has identical behaviour to
CCoeFep::ReadAllAttributesL()
.
|
virtual void WriteAttributeDataToStreamL(TUid aAttributeUid, RWriteStream& aStream) const=0;
Writes the value of the attribute specified to the specified write stream.
Called by
MFepAttributeStorer::WriteAttributeDataAndBroadcastL()
for each
attribute passed to it.
|
virtual void ReadAttributeDataFromStreamL(TUid aAttributeUid, RReadStream& aStream)=0;
Reads the value of the attribute identified by the UID specified in
aAttributeUid
from the specified read stream. You should take
appropriate action if the attribute has changed e.g. if inline editing has been
disabled, you might cancel the current transaction.
This function is called by
MFepAttributeStorer::ReadAllAttributesL()
for all attributes. It
is also called when the FEP receives a message that an attribute has been
changed by another running instance of the FEP (using
WriteAttributeDataAndBroadcastL()
).
|
void WriteAttributeDataAndBroadcastL(CCoeEnv& aConeEnvironment, TUid aAttributeUid);
Call this function after changing the value of an attribute that needs to be synchronised. Writes the new value to the system-wide settings and causes all other running instances of the FEP to be notified of the change.
A panic occurs if aAttributeUid
is not one of the FEP's
attributes.
|
void WriteAttributeDataAndBroadcastL(CCoeEnv& aConeEnvironment, const TArray<TUid>& aAttributeUids);
Call this function after changing the value of multiple attributes that need to be synchronised. Writes the new values to the system settings, and causes all other running instances of the FEP to be notified of the change.
A panic occurs if any of the attributes contained in
aAttributeUids
are not among the FEP's
attributes.
|
virtual TInt NumberOfAttributes() const=0;
Returns the total number of FEP attributes.
|
virtual TUid AttributeAtIndex(TInt aIndex) const=0;
Returns the UID of the FEP attribute at the index specified.
|
|