📄 active2.h
字号:
// active2.h
//
// Copyright (c) 1999-2007 Symbian Software Ltd. All rights reserved.
//
// $Change: 937687 $
#ifndef ACTIVE2_H
#define ACTIVE2_H
// PROJECT HEADERS
//#include "eustd.h"
// Common literal text
_LIT(KTextEsc, "\n");
// panics
enum
{
EPanicAlreadyActive = 1000,
};
//////////////////////////////////////////////////////////////////////////////
//
// -----> CTimedMessenger (definition)
//
//////////////////////////////////////////////////////////////////////////////
class CTimedMessenger : public CTimer
{
public:
// First phase Construction
CTimedMessenger();
// Destruction
~CTimedMessenger();
public:
// Static construction
static CTimedMessenger* NewLC(const TDesC& aGreeting, TInt aTicksRequested,
TInt aTicksInterval);
static CTimedMessenger* NewL(const TDesC& aGreeting, TInt aTicksRequested,
TInt aTicksInterval);
public:
// issue request
void IssueRequest();
//TODO Comment in DoCancel
// Cancel request
// Defined as pure virtual by CActive;
// implementation provided by this class.
void DoCancel();
// service completed request.
// Defined as pure virtual by CActive;
// implementation provided by this class.
void RunL();
private:
// Second phase construction
void ConstructL(const TDesC& aGreeting, TInt aTicksRequested,
TInt aTicksInterval);
protected:
// data members defined by this class
TBufC<20> iGreeting; // Text of the greeting.
TInt iTicksRequested; // Total number of greetings CTimedMessenger
// will emit.
TInt iTicksInterval; // Number of seconds between each greeting.
TInt iTicksDone; // Number of greetings issued so far.
};
//////////////////////////////////////////////////////////////////////////////
//
// -----> CExampleScheduler (definition)
//
//////////////////////////////////////////////////////////////////////////////
class CExampleScheduler : public CActiveScheduler
{
public:
void Error (TInt aError) const;
};
//////////////////////////////////////////////////////////////////////////////
//
// -----> CActiveConsole (definition)
//
// An abstract class which provides the facility to issue key requests.
//
//////////////////////////////////////////////////////////////////////////////
class CActiveConsole : public CActive
{
public:
// Construction
CActiveConsole(CConsoleBase* aConsole);
// Destruction
~CActiveConsole();
// Issue request
void RequestCharacter();
// Cancel request.
// Defined as pure virtual by CActive;
// implementation provided by this class.
void DoCancel();
// Service completed request.
// Defined as pure virtual by CActive;
// implementation provided by this class,
void RunL();
// Called from RunL() - an implementation must be provided
// by derived classes to handle the completed request
virtual void ProcessKeyPress(TChar aChar) = 0;
private:
void ConstructL();
protected:
// Data members defined by this class
CConsoleBase* iConsole; // A console for reading from
};
//////////////////////////////////////////////////////////////////////////////
//
// -----> CMessageKeyProcessor (definition)
//
// This class is derived from CActiveConsole.
// Request handling:
//
//////////////////////////////////////////////////////////////////////////////
class CMessageKeyProcessor : public CActiveConsole
{
public:
// Construction
//TODO Add Timed Messenger parameter to constructor
CMessageKeyProcessor(CConsoleBase* aConsole, CTimedMessenger* aMessenger);
public:
// Static construction
//TODO Add Timed Messenger parameter to first phase constructors
static CMessageKeyProcessor* NewLC(CConsoleBase* aConsole, CTimedMessenger* aMessenger);
static CMessageKeyProcessor* NewL(CConsoleBase* aConsole, CTimedMessenger* aMessenger);
public:
// service request
void ProcessKeyPress(TChar aChar);
private:
void ConstructL();
private:
// Data members defined by this class
//TODO Add a pointer to a CTimedMessenger data member
CTimedMessenger* iMessenger;
};
#endif // ACTIVE2_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -