📄 tcpsocketengine.h
字号:
/*
* ============================================================================
* Name : CTcpSocketEngine from TcpSocketEngine.h
* Part of : TcpSocket
* Created : 06.03.2006 by ToBeReplacedByAuthor
* Description:
* Declares engine for application.
* Version :
* Copyright: ToBeReplacedByCopyright
* ============================================================================
*/
#ifndef TCPSOCKETENGINE_H
#define TCPSOCKETENGINE_H
// INCLUDES
#include <e32base.h>
#include <es_sock.h>
#include <in_sock.h>
#include "TcpSocketTimer.h"
#include "TcpSocketSender.h"
#include "TcpSocketReceiver.h"
// CONSTANTS
// FORWARD DECLARATIONS
// CLASS DECLARATION
/**
* CTcpSocketEngine application class.
*/
class CTcpSocketEngine : public CActive, public CTcpSocketSender::MObserver,
public CTcpSocketReceiver::MObserver, public CTcpSocketTimer::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 CTcpSocketEngine* NewL(MTcpObserver& aObserver);
/**
* Destructor.
*/
virtual ~CTcpSocketEngine();
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 CTcpSocketTimer::MTimerObserver
void OnTimerL(TInt aError);
protected: // Functions from CTcpSocketSender::MObserver
void OnSendL(const TDesC& aMsg, TInt aError);
protected: // Functions from CTcpSocketReceiver::MObserver
void OnReceiveL(const TDesC& aData, TInt aError);
private:
/**
* EPOC default constructor.
*/
CTcpSocketEngine(MTcpObserver& aObserver);
void ConstructL();
private: // member variables
MTcpObserver& iObserver;
RSocketServ iSocketServ;
RSocket iListenSocket;
RSocket iSocket;
TInetAddr iAddr;
CTcpSocketTimer* iTimer;
CTcpSocketSender* iSender;
CTcpSocketReceiver* iReceiver;
TState iState;
};
#endif
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -