os/persistentdata/featuremgmt/featuremgr/test/helper/test_plugins/inc/plugintimer.h
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/persistentdata/featuremgmt/featuremgr/test/helper/test_plugins/inc/plugintimer.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,85 @@
1.4 +/*
1.5 +* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +
1.23 +
1.24 +#ifndef __PLUGINTIMER_H_
1.25 +#define __PLUGINTIMER_H_
1.26 +
1.27 +#include <featmgr/featureinfoplugin.h>
1.28 +
1.29 +/**
1.30 +* An interface for handling timer expiration events.
1.31 +*/
1.32 +class MPluginTimerCallback
1.33 + {
1.34 + public:
1.35 + /**
1.36 + * Called when the timer fires
1.37 + */
1.38 + virtual void GenericTimerFiredL( MFeatureInfoPluginCallback& aService,
1.39 + FeatureInfoCommand::TFeatureInfoCmd aCommandId,
1.40 + TUint8 aTransId,
1.41 + TInt aRetVal ) = 0;
1.42 + };
1.43 +
1.44 +
1.45 +class CPluginTimer : public CTimer
1.46 + {
1.47 + public:
1.48 + CPluginTimer( TInt aPriority,
1.49 + MFeatureInfoPluginCallback& aService,
1.50 + FeatureInfoCommand::TFeatureInfoCmd aCommandId,
1.51 + TUint8 aTransId,
1.52 + TInt aRetVal,
1.53 + MPluginTimerCallback* aCallback );
1.54 +
1.55 + ~CPluginTimer();
1.56 +
1.57 + CPluginTimer(TInt aPriority);
1.58 +
1.59 + static CPluginTimer* NewL( const TTimeIntervalMicroSeconds32& anInterval,
1.60 + MFeatureInfoPluginCallback& aService,
1.61 + FeatureInfoCommand::TFeatureInfoCmd aCommandId,
1.62 + TUint8 aTransId,
1.63 + TInt aRetVal,
1.64 + MPluginTimerCallback* aCallback );
1.65 +
1.66 + void ConstructL();
1.67 +
1.68 + void RunL();
1.69 +
1.70 + inline TUint8 TransId() const
1.71 + {
1.72 + return iTransId;
1.73 + };
1.74 +
1.75 + private:
1.76 +
1.77 + MFeatureInfoPluginCallback& iService; // Not owned
1.78 +
1.79 + FeatureInfoCommand::TFeatureInfoCmd iCommandId;
1.80 + TUint8 iTransId;
1.81 + TInt iRetVal;
1.82 +
1.83 + MPluginTimerCallback* iCallback; // Not owned
1.84 +
1.85 + };
1.86 +
1.87 +
1.88 +#endif // __PLUGINTIMER_H_