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

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 
00032         void CancelFxn(TPVDNSFxn);
00033 
00034     protected:
00035         OsclDNSIBase(Oscl_DefAlloc &a);
00036 
00037         Oscl_DefAlloc &iAlloc;
00038 
00039         virtual bool IsReady(OsclDNSRequestAO& aObject) = 0;
00040 
00041         virtual void CancelGetHostByName() = 0;
00042 
00043         //link to socket server.
00044         OsclSocketServI *iSocketServ;
00045 
00046         friend class OsclDNSRequest;
00047         friend class OsclGetHostByNameRequest;
00048 };
00049 
00050 #endif
00051 
00052 
00053 

OSCL API
Posting Version: OPENCORE_20090310