📄 dnsresolverengine.h
字号:
/*
* ============================================================================
* Name : CDnsResolverEngine from DnsResolverEngine.h
* Part of : UdpSocket
* Created : 31.01.2006 by ToBeReplacedByAuthor
* Description:
* Declares engine for application.
* Version :
* Copyright: ToBeReplacedByCopyright
* ============================================================================
*/
#ifndef DNSRESOLVERENGINE_H
#define DNSRESOLVERENGINE_H
// INCLUDES
#include <e32base.h>
#include <es_sock.h>
#include <in_sock.h>
#include "DnsResolverTimer.h"
// CONSTANTS
// CLASS DECLARATION
/**
* CDnsResolverEngine application class.
*/
class CDnsResolverEngine : CActive, CDnsResolverTimer::MObserver
{
public: // Observer interface
class MObserver
{
public:
virtual void OnResolvedL(const TDesC& aResult, TInt aError) = 0;
};
public: // Constructors and destructor
/**
* Two-phased constructor.
*/
static CDnsResolverEngine* NewL(MObserver& aObserver);
/**
* Destructor.
*/
virtual ~CDnsResolverEngine();
public: // New functions
void GetByName(const THostName& aHostName);
void GetByAddressL(const TDesC& aAddr);
void GetHostName();
public: // Functions from CDnsResolverTimer::MObserver
void OnTimerL(TInt aError);
protected: // Functions from CActive
void DoCancel();
void RunL();
private:
/**
* EPOC default constructor.
*/
CDnsResolverEngine(MObserver& aObserver);
void ConstructL();
private: // member variables
MObserver& iObserver;
RSocketServ iSocketServ;
RHostResolver iHostResolver;
TInetAddr iInetAddr;
TNameEntry iNameEntry;
THostName iHostName;
enum TState
{
EStateIdle,
EStateGettingHostName,
EStateGettingByName,
EStateGettingByAddress
} iState;
CDnsResolverTimer* iTimer; // The timeout timer
};
#endif
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -