diff -r 000000000000 -r 094583676ce7 wvuing/wvuieng/EngInc/MCABackgroundInterface.h --- /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 +#include + +// 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