--- /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 <e32base.h>
+
+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<CXnODT>& 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<CXnODT>& 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