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