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

oscl_dns_request.h

Go to the documentation of this file.
00001 
00002 #ifndef OSCL_DNS_REQUEST_H_INCLUDED
00003 #define OSCL_DNS_REQUEST_H_INCLUDED
00004 
00005 #include "oscl_dns_tuneables.h"
00006 #if PV_DNS_SERVER
00007 
00008 #include "oscl_namestring.h"
00009 #include "oscl_dns.h"
00010 #include "oscl_socket_types.h"
00011 #include "oscl_dns_tuneables.h"
00012 
00013 #if PV_DNS_IS_THREAD
00014 #include "oscl_thread.h"
00015 #include "oscl_mutex.h"
00016 #endif
00017 
00018 class DNSRequestParam;
00019 class OsclDNSRequestAO;
00020 
00024 class OsclDNSRequest
00025 {
00026     public:
00027         OsclDNSRequest()
00028                 : iDNSRequestAO(NULL)
00029                 , iDNSRequestParam(NULL)
00030                 , iActive(false)
00031         {
00032         }
00033         ~OsclDNSRequest()
00034         {
00035         }
00036 
00037         OsclDNSRequestAO *iDNSRequestAO;//the AO that is waiting on completion.
00038         DNSRequestParam *iDNSRequestParam;
00039         bool iActive;
00040 
00041 #if PV_DNS_IS_THREAD
00042         static TOsclThreadFuncRet OSCL_THREAD_DECL ThreadFunc(TOsclThreadFuncArg arg);
00043 #endif
00044 
00045         void CancelRequest();
00046         void Complete(bool, int32 aStatus, int32 aSockErr);
00047         void Activate(DNSRequestParam *iParam, OsclDNSRequestAO &a);
00048 };
00049 
00050 #endif
00051 
00052 
00053 #endif
00054 

OSCL API
Posting Version: CORE_8.000.1.1_RC4