1#if !defined(RESIP_ARES_DNS_HXX)
2#define RESIP_ARES_DNS_HXX
29 AresDns() : mChannel(0), mSocketFunc(0), mFeatures(0), mPollGrp(
NULL), mDestroying(
false) { }
66 friend void ::resip_AresDns_aresCallback(
void *arg,
int status,
unsigned char* abuf,
int alen);
67 friend void ::resip_AresDns_caresCallback(
void *arg,
int status,
int timeouts,
unsigned char* abuf,
int alen);
75 void clearPollItems();
79 static int caresSocketConfigure(
Socket s,
int type,
void* data);
80 static int caresSocketConnected(
Socket s,
int type,
void* data);
91 static ExternalDnsRawResult makeRawResult(
void *arg,
int status,
unsigned char *abuf,
int alen);
92 static ExternalDnsHandler* getHandler(
void* arg);
94 std::vector<GenericIPAddress> mAdditionalNameservers;
96 unsigned int mFeatures;
97 volatile static bool mHostFileLookupOnlyMode;
101 PollItemsMap mPollItems;
void resip_AresDns_caresCallback(void *arg, int status, int timeouts, unsigned char *abuf, int alen)
void resip_AresDns_aresCallback(void *arg, int status, unsigned char *abuf, int alen)
Wraps your platform's implementation of hash_map, hash_multimap, and hash_set.
virtual void freeResult(ExternalDnsRawResult)
virtual void setPollGrp(FdPollGrp *pollGrp)
virtual void processTimers()
friend class AresDnsPollItem
virtual bool checkDnsChange()
virtual void freeResult(ExternalDnsHostResult)
static const char * dnsRRTypeToString(int rrtype)
int internalInit(const std::vector< GenericIPAddress > &additionalNameservers, AfterSocketCreationFuncPtr socketfunc, unsigned int features=0, ares_channeldata **channel=0, int timeout=0, int tries=0, bool useStateFunc=false)
virtual char * errorMessage(long errorCode)
virtual int init(const std::vector< GenericIPAddress > &additionalNameservers, AfterSocketCreationFuncPtr socketfunc, int timeout=0, int tries=0, unsigned int features=0)
virtual unsigned int getTimeTillNextProcessMS()
void lookup(const char *target, unsigned short type, ExternalDnsHandler *handler, void *userData)
virtual bool hostFileLookup(const char *target, in_addr &addr)
static void enableHostFileLookupOnlyMode(bool enable)
virtual bool hostFileLookupLookupOnlyMode()
virtual void process(FdSet &fdset)
virtual void changeNameServers(const std::vector< GenericIPAddress > &additional)
virtual void buildFdSet(FdSet &fdset)
Object-oriented wrapper for your platform's file-descriptor set.
dcm! – add UnusedChecking(_enum) below;
void(* AfterSocketCreationFuncPtr)(Socket s, int transportType, const char *file, int line)