diff -r 000000000000 -r 2f259fa3e83a psln/PslnLibraryLoaders/inc/pslnxnclientloader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/psln/PslnLibraryLoaders/inc/pslnxnclientloader.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,158 @@ +/* +* Copyright (c) 2006-2007 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: Loads dynamically XnClient.dll. +* +*/ + + +#ifndef C_PSLNXNCLIENTLOADER +#define C_PSLNXNCLIENTLOADER + +#include + +class CXnODT; +class MXnThemeManagementServiceObserver; +class CXnClient; + +/** +* Interface class for browser launch. +* +* @lib PslnXNClientLoader.lib +* @since Series 60 3.1 +*/ +class MPslnXNClientLoader + { + public: + + /** + * Pure virtual method for searching for relevant themes. + * @param aSearchMask mask to use when searching themes (contains app UID). + * @param aHeaderList list to append found themes to. + * @return result of operation + */ + virtual TXnServiceCompletedMessage GetListHeaders( + const CXnODT& aSearchMask, + CArrayPtrFlat& aHeaderList ) = 0; + + /** + * Pure virtual method for applying active theme. + * @param aSetMask mask to use when applying theme (contains skin UID). + * @param aHeader on return this will contain the activated theme info. + * @return result of operation + */ + virtual TXnServiceCompletedMessage SetActiveTheme( + const CXnODT& aSetMask, + CXnODT& aHeader ) = 0; + + /** + * Pure virtual method for getting the next found theme. + */ + virtual void GetNextHeader() = 0; + + /** + * Pure virtual method for cancelling theme list query. + * @return result of operation + */ + virtual TXnServiceCompletedMessage CancelGetListHeaders() = 0; + + /** + * Pure virtual method for creating the XnClient object. + * @param aObserver observer for XnClient. + */ + virtual void CreateClientL( + MXnThemeManagementServiceObserver& aObserver ) = 0; + }; + +/** +* This class is for dynamically loading ProfilesSettingsView.dll that +* enables setting of ringing tone for all profiles. +* +* @lib PslnXNClientLoader.lib +* @since Series 60 3.1 +*/ +class CPslnXNClientLoader : public CBase, public MPslnXNClientLoader + { +public: + /** + * Two-phased constructor. + * @return new instance of CPslnXNClientLoader. + */ + static CPslnXNClientLoader* NewL(); + + /** + * Destructor. + */ + virtual ~CPslnXNClientLoader(); + + /** + * Searches for relevant application themes. + * @param aSearchMask mask to use when searching themes (contains app UID). + * @param aHeaderList list to append found themes to. + * @return result of operation + */ + TXnServiceCompletedMessage GetListHeaders( + const CXnODT& aSearchMask, + CArrayPtrFlat& aHeaderList ); + + /** + * Applies active theme. + * @param aSetMask mask to use when applying theme (contains skin UID). + * @param aHeader on return this will contain the activated theme info. + * @return result of operation + */ + TXnServiceCompletedMessage SetActiveTheme( + const CXnODT& aSetMask, + CXnODT& aHeader ); + + /** + * Gets the next found theme. + */ + void GetNextHeader(); + + /** + * Cancels theme list query. + * @return result of operation + */ + TXnServiceCompletedMessage CancelGetListHeaders(); + + /** + * Creates the XnClient object. + * @param aObserver observer for XnClient. + */ + void CreateClientL( + MXnThemeManagementServiceObserver& aObserver ); + +private: + + /** + * C++ default constructor. + */ + CPslnXNClientLoader(); + +private: + + /** + * Xuikon client interface for applying theme changes. + * Own. + */ + CXnClient* iXknClient; + + }; + +// Environment gate function +IMPORT_C TAny* GateFunction( TAny* aObserver ); + +#endif // C_PSLNXNCLIENTLOADER + +// End of File