skins/AknSkins/srvinc/AknsSrvSession.h
changeset 0 05e9090e2422
child 54 08459e712984
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/skins/AknSkins/srvinc/AknsSrvSession.h	Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2002-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:  Skin server session class.
+*
+*/
+
+
+#ifndef AKNSSRVSESSION_H
+#define AKNSSRVSESSION_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <e32capability.h>
+
+#include <AknsSrvClient.h>
+#include "AknsSkinChangeHandler.h"
+
+// CONSTANTS
+const TInt KAknsMaxWpWidth = 3000;
+const TInt KAknsMaxWpHeight = 3000;
+
+// FORWARD DECLARATIONS
+class CAknsSrv;
+
+
+// CLASS DECLARATION
+
+/**
+* Server-side session.
+*/
+NONSHARABLE_CLASS(CAknsSrvSession) : public CSession2
+    {
+    public:
+
+        /**
+        * Constructor.
+        */
+        CAknsSrvSession();
+
+        /**
+        * Destructor.
+        */
+        virtual ~CAknsSrvSession();
+
+    public:
+
+        /**
+        * Message dispatcher.
+        */
+        TInt DispatchMessageL( const RMessage2& aMessage );
+
+    public: // Functions from base classes
+
+        /**
+        * From CSharableSession (pure virtual).
+        * Handles service request messages from clients.
+        *
+        * @param aMessage message from client
+        */
+        void ServiceL(const RMessage2& aMessage);
+
+    public: // New functions
+
+        /**
+        * Enables notifications.
+        */
+        void EnableNotify();
+
+        /**
+        * Disables notifications.
+        */
+        void DisableNotify();
+
+        /**
+        * Sets all the item definition sets.
+        */
+        TInt SetAllItemDefSets( const RMessage2& aMessage );
+
+        /*/
+        * Sets the idle wallpaper.
+        */
+        void SetIdleWallPaperL( const RMessage2& aMessage );
+
+        /**
+        *
+        *
+        * @since 2.8
+        */
+        void StoreScalableGraphicsL( const RMessage2& aMessage, TBool aMorphing = EFalse );
+
+        /**
+        * Handles scalable graphics cleanup request.
+        *
+        * @param aMessage Currently ignored message parameter.
+        *
+        * @since 2.8
+        */
+        void ClearScalableGraphics( const RMessage2& aMessage );
+
+        /**
+        * Handles notification acknowledgement.
+        *
+        * @param aMessage Currently ignored message parameter.
+        *
+        * @since 2.7
+        */
+        void AcknowledgeNotification( const RMessage2& aMessage );
+
+        /**
+        * Propagates client error notifications.
+        */
+        void ClientError( const RMessage2& aMessage );
+
+        /**
+        * Propagates client notifications.
+        */
+        TBool EnqueueNotification(
+            const TAknsSkinChangeHandlerNotification aType,
+            TBool aCountNotifications);
+
+        /**
+        * Proceeds to the next event.
+        */
+        void NextEvent(const RMessage2 aMessage);
+
+        void OpenBitmapFileL( const RMessage2 aMessage );
+        void OpenIniFileL( const RMessage2 aMessage );
+        void CopySoundFileL(const RMessage2 aMessage );
+        void EnumeratePackages( const RMessage2 aMessage );
+        void ReceivePackages(const RMessage2 aMessage);
+        void DecodeWallpaperImageL(const RMessage2 aMessage);
+        void FreeDecodedWallpaper( const RMessage2 aMessage);
+        void CacheWallpaperImageL(const RMessage2 aMessage);
+
+        /**
+        * Opens ini-file for slideset.
+        *
+        * @since 3.2
+        */
+        void OpenImageInifileL( const RMessage2 aMessage);
+
+        /**
+        * Checks if the application has repository based icon configuration.
+        *
+        * @since 5.0
+        */
+        TBool CheckIconConfiguration( const RMessage2 aMessage );
+
+    private:
+
+        /**
+        * Panics the client thread.
+        *
+        * @param aPanic panic reason
+        */
+        void PanicClient( const RMessage2& aMessage, TAknSkinSrvPanic aPanic ) const;
+
+        /**
+        * Sets the notify handler.
+        */
+        void SetNotifyHandler( const RMessage2& aMessage );
+
+        /**
+        * Returns the server pointer.
+        */
+        CAknsSrv* Server(); //lint !e1511 Hiding allowed
+
+        /**
+        * Cancellation method.
+        */
+        void Cancel();
+
+    private: // Data
+
+        CAknsSkinChangeHandler* iHandler; // Not owned
+        TInt iPendingNotifications;
+        RArray<TAknsSkinChangeHandlerNotification> iNotifyList;
+        RMessagePtr2 iNotifyRequest;
+        TBool iCanceled;
+        TBool iCountNotifications;
+        TInt iPendingAcks;
+    };
+
+#endif // AKNSSRVSESSION_H
+
+// End of File