MhspsMaintenanceService Class Reference

class MhspsMaintenanceService
Part of Xuikon Application Theme Management Service APIs. MhspsMaintenanceService. API-definition for Xuikon Theme Maintenance Service. Xuikon Theme Maintenance Service is intended to serve Xuikon applications as well as S60 legacy applications - especially Personalisation Application - with Theme Maintenance Services. Theme maintenance can take place after a set of themes are installed by Xuikon Theme Installation Service. Maintenance services includes theme listings, theme activation, theme removal, and default theme restoring functionality. Maintenance functions are presented in high-level and low-level parametrization mode. This is the same approach that was introduced with Xuikon Theme Installation Service - to support user-intefaces with human-readable high-level elements and on otherhand, machine-originated users with low-level data. Most of the maintenance functions are synchronous, only one is asynchronous; hspsGetNextHeader(). Others functions are stright forward to use but hspsGetListHeaders(). This will be explained next; synchronous call hspsGetListHeaders() initiates the theme header listing by passing search mask to Xuikon Theme Server's Maintenance Service. This search mask is called a query. It also passes a list object in where maintenance service should append theme-header objects (type of ChspsODT-class without DOM-document) when one is retrieved asychronously. Search mask should be filled with proper parameters matching the need in hand. If no parameters are given, all headers of Application Themes available in Definition Repository will be delivered, otherwise, only sub-set of theme-headers will be delivered. After the query-call hspsGetListHeaders(), the delivering of the theme-headers is asynchronous. Asynchronous service must be initiated by calling hspsGetNextHeader() after checking that any theme matching on current query is found. This action is called a subscription. To receive theme listing, the client application must implement MhspsThemeManagementServiceObserver-interface and start to listen call-back messages. The headers matching on query will be delivered immediately. Query remains until hspsCancelGetListHeaders() is called by client. If a new Application Theme exist in repository, it will be delivered. As mentioned, when hspsGetListHeaders() returns, the return value must be checked. Return value could be one of the following:
  • EhspsGetListHeadersSuccess - there is at least one Application Theme available matching on query. Call first hspsGetNextHeader() to get the headers. Same call will set the subscribtion of new ones possible coming available later.

  • EhspsGetListHeadersEmpty - there is no themes matching on the query available at the time, however, some might be exist later in due to installations. Client application should retain the subcription.

  • EhspsGetListHeadersFailed - service request failed in some reason. Possible reasons are for e.g. the missing rights to list headers queried.

In the near future, there will be s.c. Additional Return Code Support feature available in Xuikon. This code will express for e.g. the number of headers to be delivered or possible system error code in failed cases.

By MhspsServiceObserver::HandlehspsServiceMessage() call-back function implementation, client application must listen the following ThspsServiceCompletedMessage-messages:
  • EhspsGetListHeadersUpdate - header list on the client side has a new object appended at the end of the list,

  • EhspsGetListHeadersRestart - header list on server side has changed so much that the client must empty the list printed on screen. New list will be delivered immediately. The subscription stands.

  • EhspsGetListHeadersEmpty - header list on server side is now empty. The client must empty the list on screen if printed. The subscription stands.

  • EhspsGetListHeadersFailed - operation has failed. Client should cancel request and restart, perhaps.

Maintenanace functions may also return one of the following codes:
  • EhspsServiceRequestSheduled, or

  • EhspsServiceRequestError.

For explanation of the meanings of these messages, see ThspsServiceCompletedMessage-documentation.

Since
S60 5.0

Member Functions Documentation

hspsAddPlugin(const TInt, const TInt, const TInt, const TInt, TInt &)

ThspsServiceCompletedMessage hspsAddPlugin(const TIntaAppUid,
const TIntaConfId,
const TIntaPluginUid,
const TIntaPosition,
TInt &aAddedPluginId
)[pure virtual]

Adds a new plugin configuration to the defined application configuration.

Since
S60 5.0

Parameters

const TInt aAppUididentifies the application configuration to be updated
const TInt aConfIdis an ID of the configuration being modified
const TInt aPluginUidis an UID of the plugin configuration to be added
const TInt aPositionis an UID of the added/new plugin configuration instance
TInt & aAddedPluginIdis an ID of the added plugin configuration

hspsCancelGetListHeaders()

ThspsServiceCompletedMessage hspsCancelGetListHeaders()[pure virtual]

hspsCancelGetListHeaders

Since
S60 5.0

hspsGetListHeaders(const ChspsODT &, const TBool, CArrayPtrFlat< ChspsODT > &)

ThspsServiceCompletedMessage hspsGetListHeaders(const ChspsODT &aSearchMask,
const TBoolaCopyLogos,
CArrayPtrFlat< ChspsODT > &aHeaderList
)[pure virtual]

hspsGetListHeaders

Since
S60 5.0

Parameters

const ChspsODT & aSearchMaskis ChspsODT-object which attributes are filled to present search parameters for theme set queried by client. This parametrisation follows the high-level schema.
const TBool aCopyLogosindicates that logo resources should be copied to a private directory
CArrayPtrFlat< ChspsODT > & aHeaderListis an list object able to carry ChspsODT-objects.

hspsGetListHeaders(const TDesC8 &, CArrayPtrSeg< HBufC8 > &)

ThspsServiceCompletedMessage hspsGetListHeaders(const TDesC8 &aSearchMaskData,
CArrayPtrSeg< HBufC8 > &aHeaderDataList
)[pure virtual]

hspsGetListHeaders

Since
S60 5.0

Parameters

const TDesC8 & aSearchMaskDatais serialized ChspsODT-object. Before serializing, attributes in ChspsODT-object were filled to present a search parameters for theme set queried. Serialized data parametrisation follows the low-level schema.
CArrayPtrSeg< HBufC8 > & aHeaderDataListis an list object able to carry serialized ChspsODT-objects.

hspsGetNextHeader()

ThspsServiceCompletedMessage hspsGetNextHeader()[pure virtual]

hspsGetNextHeader

Since
S60 5.0

hspsMovePluginsL(const TInt, const TInt, const CArrayFixFlat< TInt > &)

ThspsServiceCompletedMessage hspsMovePluginsL(const TIntaAppUid,
const TIntaConfId,
const CArrayFixFlat< TInt > &aPluginIdList
)[pure virtual]

Updates plugin positions in an existing plugins list.

Since
S60 5.0

Parameters

const TInt aAppUididentifies the application configuration to be updated
const TInt aConfIdis an ID of the configuration being updated (parent of the plugins node)
const CArrayFixFlat< TInt > & aPluginIdListis an array of plugin IDs for setting the plugin positions

hspsPluginUpdateL(const ChspsODT &)

ThspsServiceCompletedMessage hspsPluginUpdateL(const ChspsODT &aOdt)[pure virtual]

Updates plugin configuration in all application configurations

Since
S60 5.0

Parameters

const ChspsODT & aOdtis odt header information of the plugin configuration

hspsRemovePlugin(const TInt, const TInt)

ThspsServiceCompletedMessage hspsRemovePlugin(const TIntaAppUid,
const TIntaPluginId
)[pure virtual]

hspsRemovePlugin Removes an existing plugin configuration instance from the defined application configuration.

Since
S60 5.0

Parameters

const TInt aAppUididentifies the application configuration to be updated
const TInt aPluginIdis an ID of the plugin configuration instance to be removed

hspsRemoveThemeL(const ChspsODT &)

ThspsServiceCompletedMessage hspsRemoveThemeL(const ChspsODT &aSetMask)[pure virtual]

hspsRemoveTheme

Since
S60 5.0

Parameters

const ChspsODT & aSetMaskis an ODT-header parametrized enough to express the theme to be removed.

hspsReplacePlugin(const TInt, const TInt, const TInt)

ThspsServiceCompletedMessage hspsReplacePlugin(const TIntaAppUid,
const TIntaPluginId,
const TIntaConfUid
)[pure virtual]

Replaces existing plugin configuration instance in an active application configuration.

Since
S60 5.0

Parameters

const TInt aAppUididentifies the application configuration
const TInt aPluginIdidentifies the plugin to be replaced
const TInt aConfUidis an uid of the new plugin configuration

hspsRestoreActiveAppConf(const TInt, const TInt)

ThspsServiceCompletedMessage hspsRestoreActiveAppConf(const TIntaAppUid,
const TIntaConfUid
)[pure virtual]
Restores active application configuration
Since
S60 5.0

Parameters

const TInt aAppUididentifies the application which configuration is requested to be restored
const TInt aConfUididentifies the configuration to be restored

hspsRestoreDefault(const ChspsODT &, ChspsODT &)

ThspsServiceCompletedMessage hspsRestoreDefault(const ChspsODT &aSetMask,
ChspsODT &aHeader
)[pure virtual]

hspsRestoreDefault

Since
S60 5.0

Parameters

const ChspsODT & aSetMaskis an ODT-header paramerized engough to express the theme querid to made active.
ChspsODT & aHeaderis an empty ODT-header object that will contain the header of the theme actually made active if the request was successful.

hspsSetActivePlugin(const TInt, const TInt)

ThspsServiceCompletedMessage hspsSetActivePlugin(const TIntaAppUid,
const TIntaPluginId
)[pure virtual]

Activates plugin.

Since
S60 5.0

Parameters

const TInt aAppUididentifies the application configuration to be updated
const TInt aPluginIdis an ID of the plugin configuration instance to be activated

hspsSetActiveTheme(const ChspsODT &, ChspsODT &)

ThspsServiceCompletedMessage hspsSetActiveTheme(const ChspsODT &aSetMask,
ChspsODT &aHeader
)[pure virtual]

hspsSetActiveTheme

Since
S60 5.0

Parameters

const ChspsODT & aSetMaskrepresents parameters by which the new theme activation will be done. There must be sufficient set of parameters presented, at least a theme UID.
ChspsODT & aHeaderis an empty ODT-object which will contain the header of activated theme on the return of the call. This parametrisation follows the high-level schema. There must be sufficient set of parameters presented, at least a theme UID.

hspsSetActiveTheme(const TDesC8 &, TDes8 &)

ThspsServiceCompletedMessage hspsSetActiveTheme(const TDesC8 &aSetMaskData,
TDes8 &aHeaderData
)[pure virtual]

hspsSetActiveTheme

Since
S60 5.0

Parameters

const TDesC8 & aSetMaskDatais externalized version of ChspsODT-object presenting parameters by which the new theme activation will be done. There must be sufficient set of parameters presented, at least a theme UID. This parametrisation follows the low-level schema.
TDes8 & aHeaderDatais an empty description for externalized ODT-object data. When internalized, this object will contain the header of newly activated theme as a result of the call.

hspsSetConfState(const TInt, const TInt, const ThspsConfigurationState, const ThspsConfStateChangeFilter)

ThspsServiceCompletedMessage hspsSetConfState(const TIntaAppUid,
const TIntaConfId,
const ThspsConfigurationStateaState,
const ThspsConfStateChangeFilteraFilter
)[pure virtual]

Updates configuration's state

Since
S60 5.0

Parameters

const TInt aAppUididentifies the application configuration
const TInt aConfIdis an ID of the configuration which state is updated
const ThspsConfigurationState aStateis a new state of the configuration
const ThspsConfStateChangeFilter aFilter

hspsSetPluginSettings(const ChspsODT &, const TInt, ChspsDomDocument &, const TBool)

ThspsServiceCompletedMessage hspsSetPluginSettings(const ChspsODT &aHeader,
const TIntaPluginId,
ChspsDomDocument &aDom,
const TBoolaPluginStoringStatus
)[pure virtual]
hspsSetSettings
Since
S60 5.0

Parameters

const ChspsODT & aHeader
const TInt aPluginId
ChspsDomDocument & aDom
const TBool aPluginStoringStatus