--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/syncmlnotifier/inc/SyncMLNotifierBase.h Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,217 @@
+/*
+* Copyright (c) 2005 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: Declares SyncML notifiers base class.
+*
+*/
+
+
+
+#ifndef CSYNCMLNOTIFIERBASE_H
+#define CSYNCMLNOTIFIERBASE_H
+
+// INCLUDES
+#include <SyncMLNotifier.h>
+
+// CONSTANTS
+// Channel for app starter notifier
+const TUid KSmlAppLaunchChannel = {0x101F8769};
+
+// Channel for server dialog notifier
+const TUid KSmlDlgChannel = {0x101F876A};
+const TUid KSmlFwUpdChannel = {0x102072BF}; // Channel for firmware update notifier
+
+// Number of notifiers
+const TInt KSmlNotifierArrayIncrement = 3; // Number of notifiers
+
+// FORWARD DECLARATIONS
+class CEikonEnv;
+
+// CLASS DECLARATION
+
+/**
+* The base class for the SyncML notifiers.
+*
+* @lib SyncMLNotifier
+* @since Series 60 3.0
+*/
+NONSHARABLE_CLASS( CSyncMLNotifierBase ) : public CActive,
+ public MEikSrvNotifierBase2
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSyncMLNotifierBase();
+
+
+ protected: // New functions
+
+ /**
+ * Used in asynchronous notifier launch to store received parameters
+ * into members variables and make needed initializations.
+ * @since Series 60 3.0
+ * @param aBuffer A buffer containing received parameters
+ * @param aReturnVal The return value to be passed back.
+ * @param aMessage Should be completed when the notifier is deactivated.
+ * @return None.
+ */
+ virtual void GetParamsL(const TDesC8& aBuffer,
+ TInt aReplySlot,
+ const RMessagePtr2& aMessage) = 0;
+
+ /**
+ * A utility function for requesting the activation of lights.
+ * @since Series 60 3.0
+ * @param None.
+ * @return None.
+ */
+ void TurnLightsOn();
+
+ /**
+ * A utility function for checking whether autolock is on.
+ * @since Series 60 3.0
+ * @param None.
+ * @return A boolean according to autolock state.
+ */
+ TBool AutoLockOnL();
+
+ /**
+ * A function for checking the status of Apps key.
+ * @since Series 60 3.0
+ * @param aEnable A Boolean according to Apps key status
+ * @return None.
+ */
+ void SuppressAppSwitching( TBool aEnable );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ virtual void ConstructL();
+
+ protected: // Functions from base classes
+
+ /**
+ * From CActive Gets called when a request completes.
+ * @param None.
+ * @return None.
+ */
+ virtual void RunL() = 0;
+
+ /**
+ * From CActive Gets called when a leave occurres in RunL.
+ * @param aError Symbian OS errorcode.
+ * @return None.
+ */
+ virtual TInt RunError( TInt aError );
+
+ /**
+ * From MEikSrvNotifierBase2 Called when a notifier is first loaded
+ * to allow any initial construction that is required.
+ * @param None.
+ * @return A structure containing priority and channel info.
+ */
+ virtual TNotifierInfo RegisterL() = 0;
+
+ /**
+ * From MEikSrvNotifierBase2 The notifier has been deactivated
+ * so resources can be freed and outstanding messages completed.
+ * @param None.
+ * @return None.
+ */
+ virtual void Cancel();
+
+ protected:
+
+ /**
+ * C++ default constructor.
+ */
+ CSyncMLNotifierBase();
+
+ private: // Functions from base classes
+
+ /**
+ * From MEikSrvNotifierBase2 Called when all resources allocated
+ * by notifiers should be freed.
+ * @param None.
+ * @return None.
+ */
+ virtual void Release();
+
+ /**
+ * From MEikSrvNotifierBase2 Return the priority a notifier takes
+ * and the channels it acts on.
+ * @param None.
+ * @return A structure containing priority and channel info.
+ */
+ virtual TNotifierInfo Info() const;
+
+ /**
+ * From MEikSrvNotifierBase2 Synchronic notifier launch.
+ * @param aBuffer Received parameter data.
+ * @return A pointer to return value.
+ */
+ virtual TPtrC8 StartL( const TDesC8& aBuffer );
+
+ /**
+ * From MEikSrvNotifierBase2 Asynchronic notifier launch.
+ * @param aBuffer A buffer containing received parameters
+ * @param aReturnVal The return value to be passed back.
+ * @param aMessage Should be completed when the notifier is deactivated.
+ * @return A pointer to return value.
+ */
+ virtual void StartL( const TDesC8& aBuffer,
+ TInt aReplySlot,
+ const RMessagePtr2& aMessage );
+
+ /**
+ * From MEikSrvNotifierBase2 Updates a currently active notifier.
+ * @param aBuffer The updated data.
+ * @return A pointer to return value.
+ */
+ virtual TPtrC8 UpdateL( const TDesC8& aBuffer );
+
+ /**
+ * From CActive Gets called when a request is cancelled.
+ * @param None.
+ * @return None.
+ */
+ virtual void DoCancel();
+
+ protected: // Data
+ // Received message
+ RMessagePtr2 iMessage;
+
+ // Reply slot
+ TInt iReplySlot;
+
+ // Flag for releasing messages
+ TBool iNeedToCompleteMessage;
+
+ // Notifier parameters structure
+ TNotifierInfo iInfo;
+
+ // Local eikonenv
+ CEikonEnv* iEikEnv;
+
+ // Apps key status
+ TBool iAppsKeyBlocked;
+
+ // Flag for eikon env.
+ TInt iResourceFileFlag;
+ };
+
+#endif // CSYNCMLNOTIFIERBASE_H
+
+// End of File