📄 tcpcocketengine.h
字号:
/*
* ============================================================================
* Name : CTcpCocketEngine from TcpCocketEngine.h
* Part of : TcpCocket
* Created : 06.03.2006 by ToBeReplacedByAuthor
* Description:
* Declares engine for application.
* Version :
* Copyright: ToBeReplacedByCopyright
* ============================================================================
*/
#ifndef TCPCOCKETENGINE_H
#define TCPCOCKETENGINE_H
// INCLUDES
#include <e32base.h>
#include <es_sock.h>
#include <in_sock.h>
#include "TcpCocketTimer.h"
#include "TcpCocketSender.h"
#include "TcpCocketReceiver.h"
// CONSTANTS
// FORWARD DECLARATIONS
// CLASS DECLARATION
/**
* CTcpCocketEngine application class.
*/
class CTcpCocketEngine : public CActive, public CTcpCocketSender::MObserver,
public CTcpCocketReceiver::MObserver, public CTcpCocketTimer::MTimerObserver
{
public: // Observer interface
class MTcpObserver
{
public:
virtual void OnConnectL(TInt aError) = 0;
virtual void OnSendL(const TDesC& aMsg, TInt aError) = 0;
virtual void OnReceiveL(const TDesC& aMsg, TInt aError) = 0;
};
public: // Enumeration
enum TState
{
EStateIdle,
EStateConnecting,
EStateListening,
EStateConnected
};
public: // Constructors and destructor
/**
* Two-phased constructor.
*/
static CTcpCocketEngine* NewL(MTcpObserver& aObserver);
/**
* Destructor.
*/
virtual ~CTcpCocketEngine();
public: // New functions
TState State();
void ConnectL(const TDesC& aAddr, TUint aPort);
void Disconnect();
void ListenL();
void SendL(const TDesC& aMsg);
void ReceiveL();
protected: // Functions from CActive
void DoCancel();
void RunL();
protected: // Functions from CTcpCocketTimer::MTimerObserver
void OnTimerL(TInt aError);
protected: // Functions from CTcpCocketSender::MObserver
void OnSendL(const TDesC& aMsg, TInt aError);
protected: // Functions from CTcpCocketReceiver::MObserver
void OnReceiveL(const TDesC& aData, TInt aError);
private:
/**
* EPOC default constructor.
*/
CTcpCocketEngine(MTcpObserver& aObserver);
void ConstructL();
private: // member variables
MTcpObserver& iObserver;
RSocketServ iSocketServ;
RSocket iListenSocket;
RSocket iSocket;
TInetAddr iAddr;
CTcpCocketTimer* iTimer;
CTcpCocketSender* iSender;
CTcpCocketReceiver* iReceiver;
TState iState;
};
#endif
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -