diff -r 2b7283837edb -r 3104fc151679 servicewidget/servicewidgetdatapublisher/inc/cservicewidgetservicemanager.h --- a/servicewidget/servicewidgetdatapublisher/inc/cservicewidgetservicemanager.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,305 +0,0 @@ -/* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: service manager for a specific service - * - * -*/ - - - -#ifndef CSERVICEWIDGETSERVICEMANAGER_H -#define CSERVICEWIDGETSERVICEMANAGER_H - -#include -#include -#include "mservicewidgetobservers.h" -#include "servicewidgetcpglobals.h" - -class CServiceWidgetContentPublisher; -class CServiceWidgetPresenceHandler; -class CServiceWidgetCchHandler; -class CServiceWidgetMessageHandler; -class CServiceWidgetTimer; -class CCoeEnv; -class CServiceWidgetBrandHandler; -class MVIMPSTSettingsStore; -/** - * - * content harvester plugin - * layout Description of servicewidgetplugin and numbering of boxes - * - * ------------------------------------- - * | 1 A | User ( Offline ) |offline| Text Row 1 - * | V | 2 |icon 3 | - * | A |---------------------------- - - * | T | n new message | if nothing display "click to online" - * | AR | or n online friends 4 | Text Row 2 - * ------------------------------------- - * new message has higher priority than friends invite - * friends invite has higher priority than n online user - * any fried come online show for x second and go to back again - * - * @lib servicewidgetplugin - * @since S60 3.2 - */ - -class CServiceWidgetServiceManager : public CBase, - public MServiceWidgetNewMessageObserver, - public MServiceWidgetPresenceObserver, - public MServiceWidgetServiceStateObserver, - public MServiceWidgetTimerObserver - { - public: - - // to change priority , rearange this - enum TIMWidgetContentPriority - { - EIMUknown = -1, // no priority - EIMNewMessage = 0, // highest priority - EIMFriendInvite, - EIMPresence, // lowest priority - }; - - - /** - * Two-phased constructor. - * @param aServiceId, a service id - * @param aContentPublisher, content publisher reference - * @param aSettingStore, reference to settings store - * @return the instance of same class - */ - static CServiceWidgetServiceManager* NewL(TUint32 aServiceId, - CServiceWidgetContentPublisher& aContentPublisher, - MVIMPSTSettingsStore& aSettingStore ); - - - /** - * Standard C++ destructor - */ - ~CServiceWidgetServiceManager(); - - -public : // new method - - - /** - * update the content in widgets - */ - void UpdateContentsL(); - /** - * Returns the service ID for which Service Manager is created - */ - TInt ServiceId(); - - /** - * Unregisters widget when service is deleted - */ - void UnregisterWidgetL(); - - /** - * Registers widget when service is installed - */ - void RegisterWidgetL(); - - /** - * Returns the service Name for which Service Manager is created - */ - const TDesC& ServiceName(); - - /** - * Intialize all objects once widget is Activated on Home Screen - */ - void ActivateWidgetL(TDesC& aInstId); - /** - * destroy all objects once widget is deactivated from Home Screen - */ - void DeactivateWidgetL(TDesC& aInstId); - /** - *Executes action based on iExecuteOperation - */ - - void ExecuteActionL(); - - -public : // MServiceWidgetContentPrioritizer - /** - * from MServiceWidgetNewMessageObserver - * Gets called when data update is available as new messgae recieved. - * Client can then decide wether to use the old one - * or the updated one. - * @param aSenderId, sender name - * @param aMessageText, new message details - */ - void HandleNewMessageL(const TDesC& aSenderId , - const TDesC& aMessageText ) ; - - /** - * from MServiceWidgetNewMessageObserver - * im cache call back - * @param aState service state - */ - void HandleCountChangedL(); - - /** - * from MServiceWidgetPresenceObserver - * Handler for own status change notification - */ - void HandleOwnStatusChangeL(TWSPresenceStatus aStatus) ; - - /** - * from MServiceWidgetPresenceObserver - * Handler for AllBuddiesPresenceInService method of MPresenceCacheReader. - * @param aErrorCode - * @param aPresenceBuddyInfoList presence infos for all buddies requested. - * Ownership to callee. Can be null if not found. - */ - void HandleChangeL() ; - - /** - * from MServiceWidgetPresenceObserver - * Handler for AllBuddiesPresenceInService method of MPresenceCacheReader. - * @param aErrorCode - * @param aPresenceBuddyInfoList presence infos for all buddies requested. - * Ownership to callee. Can be null if not found. - */ - void HandleBuddyPresenceChangeL( const TDesC& aBuddyId, - TWSPresenceStatus aStatus, - const TDesC& aStatusText ); - - /** - * from MServiceWidgetPresenceObserver - * Gets called when data update is available as new messgae recieved. - * Client can then decide wether to use the old one - * or the updated one. - * @param aSenderId, sender name - * @param aMessageText, new message details - */ - void HandleAddRequestL(const TDesC& aRequesterId ) ; - - - /** - * from MServiceWidgetServiceStateObserver - * Handler cch server - * @param aState service state - */ - void HandleServiceStatusChangedL(TSWSTRegistrationState aState) ; - - /** - * from MServiceWidgetTimerObserver - * timer expiration call back - * @param aState service state - */ - void HandleTimerExpiredL(); - - /** - * WidgetSuspended - * @param aIsWidgetSuspended True - widget is suspended on Homescreen - * False - Widget is active - */ - void WidgetSuspended( TBool aIsWidgetSuspended ); - - - private: - /** - * Constructor - * @param aServiceId, a service id - * @param aContentPublisher, content publisher reference - * @param aSettingStore, reference to settings store - */ - CServiceWidgetServiceManager(TUint32 aServiceId, - CServiceWidgetContentPublisher& aContentPublisher, - MVIMPSTSettingsStore& aSettingStore ); - - /** - * provides the two phase construction - */ - void ConstructL(); - - /** - * load the resource file in memory for use - */ - void LoadResourceFileL(); - - - /** - * read and set the current data - */ - void SetCurrentTextDataL(); - - /** - * create the second row data - * @return created text : ownership transfer to caller - */ - HBufC* GetSecondRowDataLC() ; - - /** - * create all handlers if service enable - * delete all handlers if service loggedoff - * @param aState service state - */ - void CreateHandlersL(); - - - /** - * reset the priority to zero - */ - inline void ResetPriority() - { - iPriority = 0 ; - } - - - private : - // owns : service id - TInt iServiceId; - //not owns : Publisher client - CServiceWidgetContentPublisher& iContentPublisher; - //not owns : settings store - MVIMPSTSettingsStore& iSettingStore; - // owns : cch handler - CServiceWidgetCchHandler* iCchHandler; - // owns : presence handler - CServiceWidgetPresenceHandler* iPresenceHandler; - // owns : message handler - CServiceWidgetMessageHandler* iMessageHandler; - // owns : current priority for second row box - TInt iPriority; - // owns : service state - TSWSTRegistrationState iServiceState; - // owns : timer - CServiceWidgetTimer* iWidgetTimer; - // owns : - TSWAExecuteOperation iExecuteOperation; - //owns : brand icons - CServiceWidgetBrandHandler* iBrandHandler; - // Not owns : A static CEikonEnv - CCoeEnv* iEnv; - //tabview id for the service - TInt iServiceviewId; - //owns : service Name - HBufC* iServiceName; - // ETrue if widget is suspended - TBool iIsWidgetSuspended; - - //Widget InstanceId - HBufC* iInstId; - // Service tab UID from spsettings - TInt iServiceTabUid; - }; - -#endif // CSERVICEWIDGETSERVICEMANAGER_H - - -// End of File