udpsocketengine.h

来自「《基于Symbian OS的手机开发与应用实践》这本书的配套源码。」· C头文件 代码 · 共 87 行

H
87
字号
/*
* ============================================================================
*  Name     : CUdpSocketEngine from UdpSocketEngine.h
*  Part of  : UdpSocket
*  Created  : 31.01.2006 by ToBeReplacedByAuthor
*  Description:
*     Declares engine for application.
*  Version  :
*  Copyright: ToBeReplacedByCopyright
* ============================================================================
*/

#ifndef UDPSOCKETENGINE_H
#define UDPSOCKETENGINE_H

// INCLUDES
#include <e32base.h>
#include <es_sock.h>
#include <in_sock.h>

#include "UdpSocketSender.h"
#include "UdpSocketReceiver.h"


// CONSTANTS

// FORWARD DECLARATIONS


// CLASS DECLARATION

/**
*  CUdpSocketEngine application class.
*/
class CUdpSocketEngine : public CUdpSocketSender::MObserver, public CUdpSocketReceiver::MObserver
    {
    public: // Observer interface
        class MUdpObserver
            {
            public:
                virtual void OnSendL(const TDesC& aMsg, TInt aError) = 0;
                virtual void OnReceiveL(const TDesC& aMsg, TInt aError) = 0;
            };

    public: // Constructors and destructor
        /**
        * Two-phased constructor.
        */
        static CUdpSocketEngine* NewL(MUdpObserver& aObserver);

        /**
        * Destructor.
        */
        virtual ~CUdpSocketEngine();

    public: // New functions
        void SetRemoteL(const TDesC& aAddr, TUint aPort);
        TBool RemoteSpecified();
        void SendL(const TDesC& aMsg);
        void ReceiveL();

    protected: // Functions from CUdpSocketSender::MObserver
        void OnSendL(const TDesC& aMsg, TInt aError);

    protected: // Functions from CUdpSocketReceiver::MObserver
        void OnReceiveL(const TDesC& aData, TInt aError);

    private:
        /**
        * EPOC default constructor.
        */
        CUdpSocketEngine(MUdpObserver& aObserver);
        void ConstructL();

    private: // member variables
        MUdpObserver& iObserver;
        RSocketServ iSocketServ;
        RSocket iSocket;
        TInetAddr iAddr;
        CUdpSocketSender* iSender;
        CUdpSocketReceiver* iReceiver;
    };

#endif

// End of File

⌨️ 快捷键说明

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