class ChspsClientRequestHandler : public CBase |
Class ChspsClientRequestHandler. ChspsClientRequestHandler performs all Xuikon Client Request Service related functionality of Xuikon Theme Mangement Service APIs. Xuikon Client Request Service API is intended to serve Rendering Engines with Application Themes and their associated resources. ChspsClientRequestHandler will provide access to Xuikon's Application Theme database maintained by Xuikon Definition Repository. Definition Repository maintains Application Themes in ChspsODT-objects. Themes can have resources like bitmaps etc. Resources can be accessed through this API also. Every individual resource has corresponding ChspsResource-object. hspsResource-object is delivered to the client side in a resource list which is associated to the theme. Resource list is included in ODT as well as DOM-document which contains UI-definition. There can be only one theme activated for a specific application at one time. The information of activation of themes is stored in Symbian Central Repository -object. The Central Repository is requested on every theme request that Rendering Engine commences.
Class inheritance: ================== ChspsClientRequestHandler derives CTimer for active timer functionality. It implements MhspsClientRequestService-interface for Xuikon Client Request Service API functionality, and MhspsDefinitionRepositoryObserver for listening to the definition repository events.
Functionality: ============== To initiate theme usage, Rendering Engine must call hspsGetODT().
EhspsGetODTSuccess. Theme was received successfully. Client can start its rendering.
EhspsGetODTFailed. Theme was not received. Check Additional Return Code in hspsResult-object for the exact reason. Theme load can fail for e.g. for missing rights.
EhspsGetODTLowMemoryStrategy. Possible memory low to create chunk. Client should implement some low memory strategy. In version 3.1, the low-memory stategy is use direct file handle in accessing ODT. System can be configured to use low-memory strategy only.
EhspsGetODTUpdateSuccess - The subscription of the theme updates and/or status changes was successful. The cient must start observe the server events.
EhspsGetODTUpdateFailed - The subscription of the theme updates and status changes was failed.
Once success-response was received, the observation of the Client Request Service events can return one of the following codes:
EhspsGetODTUpdateStatus - Theme status was changed. Client must reset rendering and request theme again.
EhspsGetODTUpdateHot - Theme was updated. Client should reload the theme and then do the rendering again.
EhspsAccessResourceFileSuccess - request to get access to a theme resource file was successful.
EhspsAccessResourceFileFailed - request to get access to a theme resource file was unsuccessful possible in due to a security fault.
EhspsServiceRequestSheduled, or
EhspsServiceRequestError.
For explanation of the meanings of these messages, see ThspsServiceCompletedMessage-documentation.
Public Member Functions | |
---|---|
~ChspsClientRequestHandler() | |
void | HandleCenRepChangeL(const TUint32) |
TBool | HandleDefinitionRespositoryEvent(ThspsRepositoryInfo) |
void | HandlePluginReferencesL(ChspsODT &) |
ChspsClientRequestHandler * | NewL(ChspsThemeServer &) |
ChspsClientRequestHandler * | NewLC(ChspsThemeServer &) |
void | ServiceAccessResourceFileL(const RMessage2 &) |
void | ServiceGetOdtL(const RMessage2 &) |
void | ServiceGetOdtUpdateL(const RMessage2 &) |
ThspsServiceCompletedMessage | hspsAccessResourceFile(const TDesC &, const ThspsConfiguration &, RFile &) |
ThspsServiceCompletedMessage | hspsCancelGetODTUpdate() |
ThspsServiceCompletedMessage | hspsGetODT(TInt, ChspsODT &) |
ThspsServiceCompletedMessage | hspsGetODT(TInt, ChspsODT &, CArrayPtrSeg< ChspsResource > &) |
ThspsServiceCompletedMessage | hspsGetODTUpdate() |
Protected Member Functions | |
---|---|
ChspsClientRequestHandler(ChspsThemeServer &) | |
void | ConstructL() |
Private Member Functions | |
---|---|
void | AddErrorConfigurationL(ChspsDomDocument &, ChspsDomNode &, const TInt) |
TInt | AppendInitialSettingsL(ChspsODT &) |
void | AppendPluginConfigurationsL(ChspsODT &) |
void | CallGetODTPathL(ChspsODT &, TDes &) |
void | CompleteRequestL(const ThspsServiceCompletedMessage, RMessagePtr2 &, const TDesC8 &) |
ChspsDomNode & | FindRootNodeByIdentifierL(const TDesC8 &, const TDesC8 &, ChspsDomNode &) |
TBool | HandleDefinitionRespositoryEventL(ThspsRepositoryInfo) |
TInt | HandlePropertyAttributesL(const TDesC8 &, const TDesC8 &, ChspsDomNode &) |
TInt | HandlePropertyNodeL(ChspsDomNode &, ChspsDomNode &) |
TInt | ParseInitialSettingsItemsL(ChspsDomNode &, ChspsDomNode &) |
void | PrepareAndCompleteRequestL(const ThspsRepositoryInfo &, const ThspsServiceCompletedMessage &) |
void | RestoreDefaultL(ChspsODT &) |
void | RestoreValidThemeL(ChspsODT &) |
ChspsClientRequestHandler | ( | ChspsThemeServer & | aThemeServer | ) | [protected] |
ChspsThemeServer & aThemeServer |
void | AddErrorConfigurationL | ( | ChspsDomDocument & | aAppDom, |
ChspsDomNode & | aMissingPluginNode, | |||
const TInt | aPluginUid | |||
) | [private] |
ChspsDomDocument & aAppDom | is a DOM of an application configuration |
ChspsDomNode & aMissingPluginNode | is a plug-in node which was not found from the Plugin Repository |
const TInt aPluginUid | is an UID of the missing plugin |
TInt | AppendInitialSettingsL | ( | ChspsODT & | aAppODT | ) | [private] |
Finds plug-in's initial settings from the provided root configuration and modify plugin specific settings with these initial settings.
ChspsODT & aAppODT | is an ODT instance of an application configuration |
void | AppendPluginConfigurationsL | ( | ChspsODT & | aAppODT | ) | [private] |
Finds plug-in references from the provided application configuration and append XML document with plug-ins specific XML. Applies to plug-in configurations of type "application configuration" only.
ChspsODT & aAppODT | is an ODT instance of an application configuration |
void | CallGetODTPathL | ( | ChspsODT & | aSearchMask, |
TDes & | aODTPath | |||
) | [private] |
CallGetODTPathL
void | CompleteRequestL | ( | const ThspsServiceCompletedMessage | aReturnMessage, |
RMessagePtr2 & | aMessagePtr, | |||
const TDesC8 & | aHeaderData = KNullDesC8 | |||
) | [private] |
CompleteRequest
const ThspsServiceCompletedMessage aReturnMessage | |
RMessagePtr2 & aMessagePtr | |
const TDesC8 & aHeaderData = KNullDesC8 |
void | ConstructL | ( | ) | [protected] |
ChspsDomNode & | FindRootNodeByIdentifierL | ( | const TDesC8 & | aNodeTag, |
const TDesC8 & | aNodeIdentifier, | |||
ChspsDomNode & | aNode | |||
) | [private] |
Finds a root node for liw structure from dom document by identifier
const TDesC8 & aNodeTag | |
const TDesC8 & aNodeIdentifier | An Identifier. |
ChspsDomNode & aNode | A Dom Node where the node is searched from. |
void | HandleCenRepChangeL | ( | const TUint32 | aId | ) |
const TUint32 aId |
TBool | HandleDefinitionRespositoryEvent | ( | ThspsRepositoryInfo | aRepositoryInfo | ) |
ThspsRepositoryInfo aRepositoryInfo |
TBool | HandleDefinitionRespositoryEventL | ( | ThspsRepositoryInfo | aRepositoryInfo | ) | [private] |
HandleDefinitionRespositoryEventL
ThspsRepositoryInfo aRepositoryInfo |
void | HandlePluginReferencesL | ( | ChspsODT & | aAppODT | ) |
ChspsODT & aAppODT | is an ODT instance of an application configuration |
TInt | HandlePropertyAttributesL | ( | const TDesC8 & | aAttrName, |
const TDesC8 & | aAttrValue, | |||
ChspsDomNode & | aNode | |||
) | [private] |
Handling attributes.
const TDesC8 & aAttrName | Attribute name. |
const TDesC8 & aAttrValue | Attribute value. |
ChspsDomNode & aNode | Target property node. |
TInt | HandlePropertyNodeL | ( | ChspsDomNode & | aPropertyNode, |
ChspsDomNode & | aNode | |||
) | [private] |
Handling initial settings property nodes.
ChspsDomNode & aPropertyNode | Initial settings property node(property source node). |
ChspsDomNode & aNode | Target node. |
ChspsClientRequestHandler * | NewL | ( | ChspsThemeServer & | aThemeServer | ) | [static] |
NewL
ChspsThemeServer & aThemeServer |
ChspsClientRequestHandler * | NewLC | ( | ChspsThemeServer & | aThemeServer | ) | [static] |
NewLC
ChspsThemeServer & aThemeServer |
TInt | ParseInitialSettingsItemsL | ( | ChspsDomNode & | aInitialSettingsNode, |
ChspsDomNode & | aSettingsNode | |||
) | [private] |
Parse initial settings items.
ChspsDomNode & aInitialSettingsNode | Initial settings node to be parsed(source node). |
ChspsDomNode & aSettingsNode | Actual settings node(target node) where to initial settings needs to be copied. |
void | PrepareAndCompleteRequestL | ( | const ThspsRepositoryInfo & | aInfo, |
const ThspsServiceCompletedMessage & | aMessage | |||
) | [private] |
Prepare given ChspsRequestNotificationParams for sending.
const ThspsRepositoryInfo & aInfo | Info to build params from. |
const ThspsServiceCompletedMessage & aMessage | Completed message. |
void | RestoreDefaultL | ( | ChspsODT & | aOdt | ) | [private] |
RestoreDefaultL
ChspsODT & aOdt |
void | RestoreValidThemeL | ( | ChspsODT & | aCorruptedOdt | ) | [private] |
ChspsODT & aCorruptedOdt | Odt which failed to render |
void | ServiceAccessResourceFileL | ( | const RMessage2 & | aMessage | ) |
ServiceAccessResourceFileL
const RMessage2 & aMessage | contains the data received from the client |
void | ServiceGetOdtL | ( | const RMessage2 & | aMessage | ) |
ServiceGetOdtL
const RMessage2 & aMessage | contains the data received from the client |
void | ServiceGetOdtUpdateL | ( | const RMessage2 & | aMessage | ) |
ServiceGetOdtUpdateL
const RMessage2 & aMessage | contains the data received from the client |
ThspsServiceCompletedMessage | hspsAccessResourceFile | ( | const TDesC & | , |
const ThspsConfiguration & | , | |||
RFile & | ||||
) |
const TDesC & | |
const ThspsConfiguration & | |
RFile & |
ThspsServiceCompletedMessage | hspsCancelGetODTUpdate | ( | ) |
ThspsServiceCompletedMessage | hspsGetODT | ( | TInt | aAppUid, |
ChspsODT & | aODT | |||
) |
ThspsServiceCompletedMessage | hspsGetODT | ( | TInt | aAppUid, |
ChspsODT & | aODT, | |||
CArrayPtrSeg< ChspsResource > & | aResourceList | |||
) |
TInt aAppUid | is the UID of the application for which the theme is requested for. |
ChspsODT & aODT | is an empty ChspsODT-object in where the theme is expected to be placed when the call returns. |
CArrayPtrSeg< ChspsResource > & aResourceList | is an empty list-object able to contain ChspsResource-objects. On return of the call, every resource object on the list will describe a resource belonging to the theme in hand. |
ThspsServiceCompletedMessage | hspsGetODTUpdate | ( | ) |
ThspsServiceCompletedMessage | iCompletedMessage | [private] |
ChspsDefinitionRepository & | iDefinitionRepository | [private] |
TBuf8< KMaxReqNotifDataLength8 > | iReqNotifData | [private] |
ChspsRequestNotificationParams * | iReqNotifParams | [private] |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.