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

📄 iapconnectdemosocketswriter.h

📁 symbian联网接入点的示例代码.新增,设置接入点.
💻 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 + -