Main Page   Modules   Class Hierarchy   Data Structures   File List   Data Fields   Globals   Related Pages  

oscl_dns_imp_base.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef OSCL_DNS_IMP_BASE_H_INCLUDED
00004 #define OSCL_DNS_IMP_BASE_H_INCLUDED
00005 
00006 #include "oscl_socket_imp.h"
00007 #include "oscl_dns_request.h"
00008 #include "oscl_dns.h"
00009 
00010 class OsclSocketServI;
00011 class GetHostByNameParam;
00012 class OsclDNSRequestAO;
00013 
00018 class OsclDNSIBase
00019 {
00020     public:
00021         virtual ~OsclDNSIBase();
00022 
00023         //synchronous methods
00024         virtual int32 Open(OsclSocketServI& aServer) = 0;
00025         virtual int32 Close() = 0;
00026 
00027         //asynchronous methods.
00028 
00029         virtual void GetHostByName(GetHostByNameParam& , OsclDNSRequestAO&) = 0;
00030         virtual void GetHostByNameSuccess(GetHostByNameParam&) = 0;
00031         virtual bool GetHostByNameResponseContainsAliasInfo() = 0;
00032         virtual void GetNextHost(OsclDNSRequestAO&) = 0;
00033         virtual void GetNextHostSuccess(GetHostByNameParam&) = 0;
00034         void CancelFxn(TPVDNSFxn);
00035 
00036     protected:
00037         OsclDNSIBase(Oscl_DefAlloc &a);
00038 
00039         Oscl_DefAlloc &iAlloc;
00040 
00041         virtual bool IsReady(OsclDNSRequestAO& aObject) = 0;
00042 
00043         virtual void CancelGetHostByName() = 0;
00044 
00045         //link to socket server.
00046         OsclSocketServI *iSocketServ;
00047 
00048         friend class OsclDNSRequest;
00049         friend class OsclGetHostByNameRequest;
00050 };
00051 
00052 #endif
00053 
00054 
00055 

OSCL API
Posting Version: CORE_8.000.1.1_RC4