📄 irsocketsengine.h
字号:
#ifndef IRSOCKETSENGINE_H
#define IRSOCKETSENGINE_H
// INCLUDES
// System includes
#include <e32base.h>
#include <ir_sock.h>
// User includes
#include "IrSockets.hrh"
// Forward class declarations
class CIrSocketsAppUi;
class MIrSocketsEngineObserver;
// Constants
const TInt KFormEdwinMaxSize16 = EFormEdwinMaxLength;
// CLASS DECLARATION
/**
*
* @class CIrSocketsEngine EIrSocketsEngine.h
* @brief This is the engine class for sending data to the communications port via Infrared.
*
* It connects to the Serial communications server and initialises the serial port for transmitting
* data via Infrared. Also handles closing of the serial port and session to the serial comms server.
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*/
class CIrSocketsEngine : public CActive
{
enum TCommsStatus
{
EIdle,
EDiscovering,
EDiscovered,
EConnecting,
EConnected,
EAccepting,
EAccepted,
ESending,
EReceiving,
EReceived
};
public: // Constructor and destructor
static CIrSocketsEngine* NewL(MIrSocketsEngineObserver& aIrSocketsEngineObserver);
~CIrSocketsEngine();
public:
void PrepareForSendingL();
void PrepareForReceivingL();
void SendL(const TDesC& aData);
TBool Accepting() const;
void CancelReceiveL();
private:
void InitialiseL();
void OpenL();
void DiscoverL();
void ConnectL();
void ConfigureReceiverL();
void ReceiveL();
void CloseSubSessions();
private:
CIrSocketsEngine(MIrSocketsEngineObserver& aIrSocketsEngineObserver);
void ConstructL();
private: // from CActive
void RunL();
void DoCancel();
private: // Data
MIrSocketsEngineObserver& iIrSocketsEngineObserver; // handle to Engine Observer
TBuf8<KFormEdwinMaxSize16> iSendBuffer; // data to transmit
TBuf8<KFormEdwinMaxSize16> iRecvBuffer; // data to receive
/*! @var the actual socket */
RSocket iSocket;
RSocket iServiceSocket;
/*! @var the socket server */
RSocketServ iSocketServer;
/*! @var DNS name resolver */
RHostResolver iHostResolver;
/*! @var The result from the name resolver */
TNameEntry iNameEntry;
/*! @var The anme record found by the resolver */
TNameRecord iNameRecord;
TProtocolDesc iProtocolInfo;
TIrdaSockAddr iIrdaSockAddr;
TCommsStatus iState;
};
#endif // #ifndef IRSOCKETSENGINE_H
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -