⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 active2.h

📁 如题 就是 这东西 为什么非要我 说到 20个 字 呢 看看这回 够 不
💻 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 + -