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

oscl_dns_imp_pv.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef OSCL_DNS_IMP_PV_H_INCLUDED
00004 #define OSCL_DNS_IMP_PV_H_INCLUDED
00005 
00006 #include "oscl_socket_imp_base.h"
00007 #include "oscl_dns_request.h"
00008 #include "oscl_dns_imp_base.h"
00009 
00010 class OsclSocketServI;
00011 
00015 class OsclDNSI: public OsclDNSIBase
00016 {
00017     public:
00018         static OsclDNSI* NewL(Oscl_DefAlloc &a);
00019         ~OsclDNSI();
00020 
00021         //synchronous methods
00022         int32 Open(OsclSocketServI& aServer);
00023         int32 Close();
00024 
00025         //asynchronous methods.
00026 
00027         void GetHostByName(GetHostByNameParam& , OsclDNSRequestAO&);
00028         void GetHostByNameSuccess(GetHostByNameParam&);
00029         void GetNextHost(OsclDNSRequestAO&);
00030         void GetNextHostSuccess(GetHostByNameParam&);
00031         bool GetHostByNameResponseContainsAliasInfo();
00032 
00033     private:
00034         OsclDNSI(Oscl_DefAlloc &a);
00035 
00036         bool IsReady(OsclDNSRequestAO& aObject);
00037 
00038         void CancelGetHostByName();
00039 
00040         friend class OsclDNSRequest;
00041 
00042         //active requests
00043         OsclDNSRequest iGetHostByNameRequest;
00044         static void ProcessDnsRequest(GetHostByNameParam*, int32&, int32&);
00045         friend class OsclGetHostByNameRequest;
00046 
00047         friend class DNSRequestParam;
00048 };
00049 
00050 #endif
00051 
00052 
00053 

OSCL API
Posting Version: CORE_8.000.1.1_RC4