diff -r 0efa10d348c0 -r a5a39a295112 contentcontrolsrv/hsccclient/hsccproviderclient/inc/hsccproviderclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentcontrolsrv/hsccclient/hsccproviderclient/inc/hsccproviderclient.h Wed Sep 01 12:22:09 2010 +0100 @@ -0,0 +1,287 @@ +/* +* 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: +* +*/ + +#ifndef HSCCPROVIDERCLIENT_H +#define HSCCPROVIDERCLIENT_H + +// System includes +#include +#include + +// Forward declarations +#include "ccclientsession.h" +class MHsContentController; +class CCcSrvMsg; + +/** + * Home screen content control server content provider client + * + * + * @code + * + * @endcode + * + * @lib hsccsrv.lib + * @since S60 v5.0 + */ +class CHsCcProviderClient : public CActive, public MHsContentControl + { +public: // Constructor and destructor + + /** + * Two-phased constructor. + * @param aController Controller interface + */ + IMPORT_C static CHsCcProviderClient* NewL( + MHsContentController& aController ); + + /** + * Destructor + */ + ~CHsCcProviderClient(); + +private: // Constructors and destructor + + /** + * Constructor + */ + CHsCcProviderClient( + MHsContentController& aController ); + + + /** + * Second phase constructor + */ + void ConstructL(); + +private: // From CActive + /** + * + */ + void RunL(); + + /** + * + */ + void DoCancel(); + +public: // From MHsContentControl + + /** + * + */ + void NotifyWidgetListChanged(); + + /** + * + */ + void NotifyViewListChanged(); + + /** + * + */ + void NotifyAppListChanged(); + +private: // Functions + /** + * + */ + void WaitForApiReqL(); + + /** + * + */ + void HandleWidgetListReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleRegisterObserverNtfL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleUnregisterObserverNtfL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleAddWidgetReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleRemoveWidgetReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleViewListReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleAddViewReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleRemoveViewReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleActivateViewReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleActiveViewReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleAppListReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleActivateAppReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleActiveAppReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void HandleNotSupportedReqL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + + /** + * + */ + void SendNtfL( + TUint32 aNtf ); + + /** + * + */ + void SendRespL( + TUint32 aSender, + TUint32 aReceiver, + CCcSrvMsg& aMessage ); + +private: // Data + /** + * Session to Homescreen content control server + */ + RCcClientSession iSession; + + /** + * Homescreen content controller interface + */ + MHsContentController& iController; + + /** + * Registered address + */ + TUint32 iAddress; + + /** + * Sender of Api request + */ + TPckgBuf iPckgSender; + + /** + * receiver of Api request + */ + TPckgBuf iPckgReceiver; + + /** + * Received API request header buffer + */ + HBufC8* iApiHeader; + + /** + * Pointer to header buffer + */ + TPtr8 iApiHeaderPtr; + + /** + * Received API request data buffer + */ + HBufC8* iApiData; + + /** + * Pointer to data buffer + */ + TPtr8 iApiDataPtr; + + /** + * Observers + */ + RArray iObservers; + + }; + + +#endif // HSCCPROVIDERCLIENT_H + +// End of file