00001
00002
00003
00004
00005
00006
00007
#ifndef __WVRESOLVER_H
00008
#define __WVRESOLVER_H
00009
00010
#include "wvaddr.h"
00011
#include "wvstream.h"
00012
#include "wvlinklist.h"
00013
#include "wvhashtable.h"
00014
00015
class WvResolverHost;
00016
class WvResolverAddr;
00017
00018
DeclareWvDict(WvResolverHost,
WvString, name);
00019
DeclareWvDict(WvResolverAddr,
WvIPAddr, addr[0]);
00020
00021
DeclareWvList(
WvIPAddr);
00022
00023
00024 class WvResolver
00025 {
00026
static int numresolvers;
00027
static WvResolverHostDict *hostmap;
00028
static WvResolverAddrDict *addrmap;
00029
public:
00030
WvResolver();
00031
~WvResolver();
00032
00033
00034
00035
00036
00037
00038
00039
int findaddr(
int msec_timeout,
WvStringParm name,
00040
WvIPAddr const **addr, WvIPAddrList *addrlist = NULL);
00041
int findname(
int msec_timeout,
WvIPAddr *ipaddr,
char **name);
00042
00043
void clearhost(
WvStringParm hostname);
00044
00045
00046
bool pre_select(
WvStringParm hostname, WvStream::SelectInfo &si);
00047 };
00048
00049
#endif // __WVRESOLVER_H