syncmlfw/syncmlnotifier/inc/SyncMLAppLaunchNotifier.h
branchRCL_3
changeset 9 57a65a3a658c
parent 0 b497e44ab2fc
child 23 4af31167ea77
--- a/syncmlfw/syncmlnotifier/inc/SyncMLAppLaunchNotifier.h	Tue Feb 02 00:44:00 2010 +0200
+++ b/syncmlfw/syncmlnotifier/inc/SyncMLAppLaunchNotifier.h	Fri Feb 19 23:41:35 2010 +0200
@@ -28,16 +28,20 @@
 #include "SyncMLNotifierBase.h"    // Base class
 #include <SyncService.h>
 #include <centralrepository.h>
-
+#include <e32property.h>
 // CONSTANTS
 // From S60\SyncMLFota
 const TUid KUidNSmlMediumTypeInternet = { 0x101F99F0 };
 _LIT8( KNSmlIAPId, "NSmlIapId" );
 _LIT8( KNSmlAlwaysAsk, "-1" );
 const TInt  KDefaultTimeoutforNotes ( 30 );
-
+const TUid KDisclaimerProperty = {0x101F8769};
+const TUint32 KDisclaimerInteger = 0x00000001;
+    
 const TUid KCRUidNSmlDSApp       = { 0x101F9A1D };
 // CLASS DECLARATION
+
+class CDMDisclaimerObserver;
 /**
 *  Notifier for launching SyncML applications
 *
@@ -68,6 +72,12 @@
         * @return CSyncService* 
         */
         CSyncService* SyncServiceL( TUint aServiceId );
+        
+        /**
+        * Called to complete the message
+        * @param aDisclaimerAccepted 
+        */        
+        void CompleteMessageL(TInt aDisclaimerAccepted);
 
     private: // New functions
 
@@ -182,6 +192,7 @@
     private: // Data
         // Type of session queried
         TSyncMLSessionTypes iSmlProtocol;
+        CDMDisclaimerObserver* iObserver;
         
         // Job identifier from the parameters
         TInt                iJobId;
@@ -211,6 +222,25 @@
         TInt iBearerType;
     };
 
+/**
+* CDMDisclaimerObserver class
+* 
+*/
+class CDMDisclaimerObserver : public CActive
+    {
+    public:
+        CDMDisclaimerObserver();
+        ~CDMDisclaimerObserver();
+        void WaitOnDisclaimerL(CSyncMLAppLaunchNotifier* aPtr);
+    protected:
+        void DoCancel();
+        void RunL();
+        TInt RunError(TInt aError);
+    private:
+        TInt iPropertyVal;
+        RProperty iDisclaimerProperty;
+        CSyncMLAppLaunchNotifier* iNot;    
+    };
 
 #endif      // CSYNCMLAPPLAUNCHNOTIFIER_H