syncmlfw/syncmlnotifier/inc/syncmlmmcwatcher.h
changeset 0 b497e44ab2fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/syncmlnotifier/inc/syncmlmmcwatcher.h	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2009 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:  Synchronisation server alert notifier.
+*
+*/
+
+#ifndef SYNCMLMMCWATCHER_H_
+#define SYNCMLMMCWATCHER_H_
+#include <e32base.h>
+#include <e32property.h>
+#include <UikonInternalPSKeys.h>
+#include <f32file.h> 
+#include <disknotifyhandler.h> //if RD_MULTIPLE_DRIVE
+#include "SyncMLNotifDebug.h"
+
+/**
+*  MMC event observer class for SyncML notifier queries.
+*  @lib SyncMLNotifier
+*  @since Series 60 5.2
+*/
+NONSHARABLE_CLASS ( MSyncMLQueryMmcObserver )
+    {
+    public: // New functions
+        /**
+        * Is called when the mmc removes.
+        * @since Series 60 5.2
+        * @param None
+        * @return None
+        */
+        virtual void MmcRemoved() = 0;
+    };
+
+/**
+*  MMC event watcher class for SyncML notifier queries.
+*  @lib SyncMLNotifier
+*  @since Series 60 5.2
+*/
+class CSyncmlmmcwatcher :  public CBase, public MDiskNotifyHandlerCallback /*public CActive,*/
+    {                
+public:  // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     */
+    static CSyncmlmmcwatcher* NewL( MSyncMLQueryMmcObserver* aObserver );
+
+    /**
+     * Destructor.
+     */     
+    virtual ~CSyncmlmmcwatcher();
+private:   
+    /**
+     * Constructor.
+     */
+    inline CSyncmlmmcwatcher( MSyncMLQueryMmcObserver* aObserver);       
+
+public:
+    /**
+     * Logs a request to notify the disk events
+     * @since Series 60 5.2
+     * @param None
+     * @return None
+     */
+    void StartL();
+    
+    /**
+     * Callback method to notify disk events
+     * @since Series 60 5.2
+     * @param aError,System wide error code from file server
+     * @param aEvent,The disk event data data specified by TDiskEvent
+     * @return None
+     */
+    void HandleNotifyDisk( TInt aError, const TDiskEvent& aEvent );
+    
+    /**
+     * Cancels the disk notification
+     * @since Series 60 5.2
+     * @param None     
+     * @return None
+     */
+    void CancelMmcwatch();
+
+private:
+
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL();            
+
+private:            
+    //Instance to RFs
+    RFs iMemoryCard;
+    
+    // Pointer to disk notify handler. Own.
+    CDiskNotifyHandler* iDiskNotifyHandler;
+    
+    // Pointer to MMC observer
+    MSyncMLQueryMmcObserver* immcobserver;
+    }; 
+
+#endif /* SYNCMLMMCWATCHER_H_ */
+