imageeditor/plugins/DrawPlugin/inc/TimeAO.h
author qifeima <>
Thu, 03 Jun 2010 18:57:10 +0800
changeset 8 18b321db4884
permissions -rw-r--r--
*m enhance
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     1
/*
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     2
 ============================================================================
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     3
 Name		: TimeAO.h
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     4
 Author	  : 
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     5
 Version	 : 1.0
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     6
 Copyright   : Your copyright notice
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     7
 Description : CTimeAO declaration
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     8
 ============================================================================
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
     9
 */
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    10
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    11
#ifndef TIMEAO_H
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    12
#define TIMEAO_H
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    13
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    14
#include <e32base.h>	// For CActive, link against: euser.lib
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    15
#include <e32std.h>		// For RTimer, link against: euser.lib
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    16
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    17
class MCountTime;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    18
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    19
class CTimeAO : public CActive
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    20
	{
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    21
public:
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    22
	// Cancel and destroy
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    23
	~CTimeAO();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    24
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    25
	// Two-phased constructor.
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    26
	static CTimeAO* NewL();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    27
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    28
	// Two-phased constructor.
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    29
	static CTimeAO* NewLC();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    30
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    31
public:
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    32
	// New functions
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    33
	// Function for making the initial request
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    34
	void StartL();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    35
	
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    36
	void SetObserver(MCountTime* aObserver);
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    37
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    38
private:
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    39
	// C++ constructor
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    40
	CTimeAO();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    41
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    42
	// Second-phase constructor
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    43
	void ConstructL();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    44
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    45
private:
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    46
	// From CActive
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    47
	// Handle completion
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    48
	void RunL();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    49
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    50
	// How to cancel me
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    51
	void DoCancel();
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    52
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    53
	// Override to handle leaves from RunL(). Default implementation causes
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    54
	// the active scheduler to panic.
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    55
	TInt RunError(TInt aError);
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    56
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    57
private:
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    58
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    59
private:
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    60
	RTimer iTimer; // Provides async timing service
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    61
	MCountTime* iObserver;
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    62
	};
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    63
18b321db4884 *m enhance
qifeima <>
parents:
diff changeset
    64
#endif // TIMEAO_H