--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuieng/EngInc/MCABackgroundInterface.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2002 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: CIdle based background services
+*
+*/
+
+
+#ifndef MCABACKGROUNDINTERFACE_H
+#define MCABACKGROUNDINTERFACE_H
+
+// INCLUDES
+#include <badesca.h>
+#include <e32std.h>
+
+// FORWARD DECLARATIONS
+class MCABackgroundObserver;
+class MCABackgroundTask;
+
+// CLASS DECLARATION
+
+/**
+* CIdle based background services. .
+*
+* @lib CAEngine.lib
+* @since 1.2
+*/
+class MCABackgroundInterface
+ {
+ public:
+ enum TCABackgroundTasks
+ {
+ EGroupFetch = 1,
+ EPresence = 2,
+ EWhisperSync = 4,
+ //used just in 2.1
+ EBlockGrantListFetch = 8
+ };
+
+ enum TCABackgroundStatus
+ {
+ //add or removed
+ EUnknown = 0
+ //enqueued and CIdle has been started
+ , EIdleStarted = 1
+ //CIdle is working
+ , EStarting = 2
+ //CActiveSchedulerWait has been started
+ , EWaiting = 4
+ //task or subtask has been completed
+ , ECompleted = 8
+ //task or subtask has been cancelled due to network loss or exit
+ , ECancelled = 16
+ //task or subtask has been failed and left
+ , EFailed = 32
+ };
+
+ public:
+ /**
+ * Registers background task
+ * @param aBackgroundTask pointer of instance
+ * @param aTaskID is id of task
+ * @param aSubTasks is number of subtask, positive
+ * @return KErrNone on success, system wide error code otherwise
+ */
+ virtual TInt RegisterBackgroundTask(
+ MCABackgroundTask* aBackgroundTask,
+ TCABackgroundTasks aTaskID,
+ TInt aSubTasks = 1
+ ) = 0;
+ /**
+ * Registers observer for background task
+ * @param aBackgaBackgroundObserver pointer of instance
+ * @param aTaskMask is an AND mask for task requested,
+ * @param aEventMask is an AND mask for events requested,
+ * @return KErrNone on success, system wide error code otherwise
+ */
+ virtual TInt RegisterBackgroundObserver(
+ MCABackgroundObserver* aBackgroundObserver,
+ TInt aTaskMask,
+ TInt aEventMask
+ ) = 0;
+ /**
+ * Removes observer from the queue
+ * @param aBackgaBackgroundObserver pointer of instance to remove
+ */
+ virtual TInt UnRegisterBackgroundObserver(
+ MCABackgroundObserver* aBackgroundObserver
+ ) = 0;
+
+ /**
+ * @param aTaskID is an id of a background task
+ * @retrun status of the background task or KErrNotFound
+ */
+ virtual TInt BackgroundTaskStatus(
+ TCABackgroundTasks aTaskID
+ ) = 0;
+ protected:
+
+ /**
+ * Destructor.
+ */
+ virtual ~MCABackgroundInterface() {};
+
+ };
+
+#endif // MCABACKGROUNDINTERFACE_H
+
+// End of File