📄 iapconnectdemosocketswriter.h
字号:
/*
* ============================================================================
* Name : CIAPConnectDemoSocketsWriter from IAPConnectDemoSocketsWriter.h
* Part of : Internet Access Points Example v2.0
* Created : 01.09.2006 by Forum Nokia
* Version : 2.0
* Copyright: Forum Nokia
* ============================================================================
*/
#ifndef DEMOSOCKETSWRITER_H
#define DEMOSOCKETSWRITER_H
// INCLUDE FILES
#include <in_sock.h>
// FORWARD DECLARATIONS
class MIAPConnectDemoSocketsObserver;
const TInt KMaxWriteBufferLength = 100;
// CLASS DECLARATION
/**
* This class handles writing data to the socket.
* Data to be written is accumulated in iTransferBuffer,
* and is then transferred to iWriteBuffer for the actual
* write to the socket.
*/
class CIAPConnectDemoSocketsWriter : public CActive
{
public: // Constructors and destructors
/**
* Two-phased constructor.
*/
static CIAPConnectDemoSocketsWriter*
NewL( MIAPConnectDemoSocketsObserver& aSocketsObserver,
RSocket& aSocket );
/**
* Two-phased constructor.
*/
static CIAPConnectDemoSocketsWriter*
NewLC( MIAPConnectDemoSocketsObserver& aSocketsObserver,
RSocket& aSocket );
/**
* Destructor.
*/
virtual ~CIAPConnectDemoSocketsWriter();
public: // New functions
/**
* Writes the data to the socket ( buffered ).
* @param aData The data to be written.
*/
void IssueWriteL( const TDesC8& aData );
private: // Functions from base classes
/**
* From CActive
*/
void DoCancel();
/**
* From CActive
*/
void RunL();
private:
/**
* Symbian OS default constructor
*/
CIAPConnectDemoSocketsWriter(
MIAPConnectDemoSocketsObserver& aSocketsObserver,
RSocket& aSocket );
void ConstructL();
private: // New functions
/**
* SendNextPacket.
* Handles a 'write buffer empty' situation.
*/
void SendNextPacket();
private: // Enumerations
/**
* TWriteState, records whether a write request is pending.
* - ESending A write request is pending with the socket server.
* - EWaiting The idle state for this object.
*
*/
enum TWriteState
{
ESending,
EWaiting
};
private: // Data members
RSocket& iSocket;
MIAPConnectDemoSocketsObserver& iSocketsObserver;
TBuf8<KMaxWriteBufferLength> iTransferBuffer;
TBuf8<KMaxWriteBufferLength> iWriteBuffer;
TInt iTimeOut;
TWriteState iWriteStatus;
};
#endif // DEMOSOCKETSWRITER_H
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -