diff -r 000000000000 -r f72a12da539e idlehomescreen/xmluicontroller/inc/contentpublisher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/xmluicontroller/inc/contentpublisher.h Thu Dec 17 08:40:49 2009 +0200 @@ -0,0 +1,144 @@ +/* +* Copyright (c) 2009 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: +* +*/ +/* +* ============================================================================== +* Name : contentpublisher.h +* Part of : +* Interface : Implemetation of CContentPublisher +* Description : +* Version : + +*/ + +#ifndef CONTENTPUBLISHER_H +#define CONTENTPUBLISHER_H + +#include +#include + +// FORWARD DECLARATIONS +class CLiwGenericParamList; +class CLiwServiceHandler; +class MLiwInterface; +class CAknGlobalConfirmationQuery; + +namespace AiXmlUiController +{ +class CXmlUiController; +class CGlobalQueryHandler; + + +/** + * @ingroup group_xmluicontroller + * + * Interface to publish data to Content Publishing Service + * + * @since S60 5.1 + */ +class CContentPublisher : public CBase, public MLiwNotifyCallback + { + public: + /** + * Two-phased constructor. + */ + static CContentPublisher* NewL(CXmlUiController& aUiController); + + /** + * Destructor. + */ + virtual ~CContentPublisher(); + + private: + CContentPublisher(CXmlUiController& aUiController); + void ConstructL(); + + public: //from MLiwNotifyCallbackc + + /** + * Handles notifications caused by an asynchronous Execute*CmdL call + * or an event. + * + * @param aCmdId The service command associated to the event. + * @param aEventId occurred event, see LiwCommon.hrh. + * @param aEventParamList Event parameters, if any, as defined per + * each event. + * @param aInParamList Input parameters, if any, given in the + * related HandleCommmandL. + * @return Error code for the call back. + */ + virtual TInt HandleNotifyL( + TInt aCmdId, + TInt /*aEventId*/, + CLiwGenericParamList& aEventParamList, + const CLiwGenericParamList& /*aInParamList*/); + + public: // New functions + + /** + * Sets given values to Content Publisher Service. + * @since Series 60 5.1 + * @param aElementName The name of the element, which values are set. + * @param aWidth Width of the element + * @param aHeight Height of the element + */ + void PublishSizeL( const TDesC& aElementName, + TInt aWidth, TInt aHeight ); + + private: + + void InitCpsInterfaceL(); + void AddDataL( const TDesC& aPublisherId, + const TDesC& aContentType, const TDesC& aContentId, + const TInt aData1, const TDesC8& aDataKey1, + const TInt aData2, const TDesC8& aDataKey2 ); + + void GetDataL( const TDesC& aPublisherId, const TDesC& aContentType, + const TDesC& aContentId, CLiwDefaultMap* aOutDataMap); + + void HandlePublisherInfoL( const TDesC& aPubInfo); + void RegisterListenerL(); + void UnRegisterListenerL(); + + /** + * Displayes global query for 'go online' or 'go offline' confirmations + * @param aResourceId resource id for the text string + * @param aSetOnline if ETrue then set widgets online if confirmation accepted, + * if EFalse then set widgets offline if confirmation accepted + */ + void ShowGlobalQueryL( TInt aResourceId, TBool aSetOnline ); + + private: + MLiwInterface* iCpsInterface; + CLiwServiceHandler* iServiceHandler; + + /** + * Reference to XML ui controller. + */ + CXmlUiController& iUiController; + + CGlobalQueryHandler* iGlobalQueryHandler; + CAknGlobalConfirmationQuery* iGlobalConfirmationQuery; + + }; + +}// namespace AiXmlUiController +#endif //CONTENTPUBLISHER_H + + + + +