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

📄 bluetoothclient.h

📁 series60 应用程序开发的源代码 series60 应用程序开发的源代码
💻 H
字号:
#ifndef __BLUETOOTHCLIENT_H__
#define __BLUETOOTHCLIENT_H__

// System Includes
#include <bt_sock.h>

// User defined includes
#include "BluetoothDefinitions.h" // KMaxMessageLength

// Forward Declaration
class MBluetoothObserver;

// CLASS DECLARATION

/**
*
* This is the Bluetooth Client and handles setting up sockets for Bluetooth communications
*
* It requires an observer to handle UI feedback on certain events
*
*/
/**
*
* @class    CBluetoothClient BluetoothClient.h 
* @brief    This is the Bluetooth Client and handles setting up sockets for Bluetooth communications
*
* It requires an observer to handle UI feedback on certain events
*
* Copyright (c) EMCC Software Ltd 2003
* @version    1.0
* 
*/
class CBluetoothClient : public CActive
{
    public: // Constructors
        static CBluetoothClient*     NewL(MBluetoothObserver& aObserver);
        ~CBluetoothClient();

    private: // Constructors - Symbian 2nd stage
        CBluetoothClient(MBluetoothObserver& aObserver);
        void                 ConstructL();

    public: // Member functions
        void                 ConnectToServerL(const TBTDevAddr& aBTDevAddr, const TInt aPort);
        void                 Send(const TDesC& aMessage);
        TBool                 IsConnected();
        TBool                 AvailableToSend();

    public:    // Member functions from CActive
        void                 RunL();
        void                 DoCancel();

    private: // member functions, utility functions
        void                 Disconnect();
        void                 RequestData();
        void                 SendL(const TDesC& aMessage);

    private: // Private member data
        RSocketServ                                        iSocketServer;
        RSocket                                            iSendingSocket;
        TBTSockAddr                                        iSocketAddress;
        TBuf8<KMaxMessageSizeDesc16 + sizeof (TInt)>    iMessage;
        TSockXfrLength                                     iLen;
        MBluetoothObserver&                                iObserver;

    private: // State machine definition
        enum TState 
        {
            EDisconnected,
            EConnecting,
            EConnected,
            EWaitingForMessage,
            ESendData
        };
    
        TState                iState;
};

#endif // __BLUETOOTHCLIENT_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -