aboutsummaryrefslogtreecommitdiff
path: root/doc/oscl_html/oscl__dns__method_8h_source.html
blob: af061c0596ad4701c70f1df96945074c0da7733a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>oscl: oscl_dns_method.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>oscl_dns_method.h</h1><a href="oscl__dns__method_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00002"></a>00002 <span class="preprocessor">#ifndef OSCL_DNS_METHOD_H_INCLUDED</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_DNS_METHOD_H_INCLUDED</span>
<a name="l00004"></a>00004 <span class="preprocessor"></span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &quot;<a class="code" href="osclconfig__io_8h.html" title="This file contains common typedefs based on the ANSI C limits.h header.">osclconfig_io.h</a>&quot;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &quot;<a class="code" href="oscl__socket__types_8h.html">oscl_socket_types.h</a>&quot;</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &quot;<a class="code" href="oscl__scheduler__ao_8h.html" title="Oscl Scheduler user execution object classes.">oscl_scheduler_ao.h</a>&quot;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &quot;<a class="code" href="oscl__dns_8h.html" title="The file oscl_socket.h defines the OSCL DNS APIs.">oscl_dns.h</a>&quot;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &quot;<a class="code" href="pvlogger_8h.html" title="This file contains basic logger interfaces for common use across platforms.">pvlogger.h</a>&quot;</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="keyword">class </span><a class="code" href="classOsclDNSObserver.html">OsclDNSObserver</a>;
<a name="l00012"></a>00012 <span class="keyword">class </span><a class="code" href="classOsclDNSRequestAO.html">OsclDNSRequestAO</a>;
<a name="l00013"></a>00013 <span class="keyword">class </span><a class="code" href="classOsclSocketServ.html">OsclSocketServ</a>;
<a name="l00014"></a>00014 <span class="keyword">class </span><a class="code" href="classOsclDNSI.html">OsclDNSI</a>;
<a name="l00015"></a>00015 <span class="keyword">class </span><a class="code" href="classOsclDNS.html">OsclDNS</a>;
<a name="l00016"></a>00016 
<a name="l00020"></a><a class="code" href="classOsclDNSMethod.html">00020</a> <span class="keyword">class </span><a class="code" href="classOsclDNSMethod.html">OsclDNSMethod</a> : <span class="keyword">public</span> <a class="code" href="classOsclTimerObject.html">OsclTimerObject</a>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022     <span class="keyword">public</span>:
<a name="l00023"></a><a class="code" href="classOsclDNSMethod.html#af9559ba86a714de3820d5f7d16040f84">00023</a>         <a class="code" href="classOsclDNSMethod.html#af9559ba86a714de3820d5f7d16040f84">OsclDNSMethod</a>(<a class="code" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> &amp;a, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <a class="code" href="group__osclio.html#ga8c2ea6404a214241178a4ca83f9d9a7c">TPVDNSFxn</a> fxn)
<a name="l00024"></a>00024                 : <a class="code" href="classOsclTimerObject.html">OsclTimerObject</a>(<a class="code" href="classOsclActiveObject.html">OsclActiveObject</a>::EPriorityNominal, name)
<a name="l00025"></a>00025                 , <a class="code" href="classOsclDNSMethod.html#a8fa4e7f8e7783a46470fc1b5a1394018">iDNSObserver</a>(<a class="code" href="group__osclbase.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="The NULL_TERM_CHAR is used to terminate c-style strings.">NULL</a>)
<a name="l00026"></a>00026                 , <a class="code" href="classOsclDNSMethod.html#a40c1674f061325fc9cc02ae06f69ba24">iId</a>(0)
<a name="l00027"></a>00027                 , <a class="code" href="classOsclDNSMethod.html#a6247476154547662486ef47f84636d42">iAlloc</a>(a)
<a name="l00028"></a>00028                 , <a class="code" href="classOsclDNSMethod.html#a7e8e6240982eaf6238ff5d69f6498679">iDNSFxn</a>(fxn)
<a name="l00029"></a>00029                 , <a class="code" href="classOsclDNSMethod.html#ab27bd96349b28016ed48a6e692baf7e7">iDNSRequestAO</a>(<a class="code" href="group__osclbase.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="The NULL_TERM_CHAR is used to terminate c-style strings.">NULL</a>)
<a name="l00030"></a>00030         {
<a name="l00031"></a>00031             <a class="code" href="classOsclDNSMethod.html#a41d103e6eb7fa5d571a7f692436e1c50">iLogger</a> = <a class="code" href="classPVLogger.html#a1050cccac5bf862b8a6a2813b0f9c5ab">PVLogger::GetLoggerObject</a>(<span class="stringliteral">&quot;oscldns&quot;</span>);
<a name="l00032"></a>00032         }
<a name="l00033"></a>00033 
<a name="l00034"></a>00034         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSMethod.html#aaa7f1975a9875b5197bcaa276c2385a8">Abort</a>();
<a name="l00035"></a>00035         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSMethod.html#a17b2a59ac22809921f89cf64f5a09421">AbortAll</a>();
<a name="l00036"></a>00036         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSMethod.html#a487ef1372d23226a010b9a50ceac87f7">CancelMethod</a>();
<a name="l00037"></a>00037         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSMethod.html#a9b2d6f57b5b749715b0f97d6ffe43d8e">Run</a>();
<a name="l00038"></a>00038 
<a name="l00039"></a><a class="code" href="classOsclDNSMethod.html#a8fa4e7f8e7783a46470fc1b5a1394018">00039</a>         <a class="code" href="classOsclDNSObserver.html">OsclDNSObserver</a> *<a class="code" href="classOsclDNSMethod.html#a8fa4e7f8e7783a46470fc1b5a1394018">iDNSObserver</a>;
<a name="l00040"></a><a class="code" href="classOsclDNSMethod.html#a40c1674f061325fc9cc02ae06f69ba24">00040</a>         uint32 <a class="code" href="classOsclDNSMethod.html#a40c1674f061325fc9cc02ae06f69ba24">iId</a>;
<a name="l00041"></a><a class="code" href="classOsclDNSMethod.html#a6247476154547662486ef47f84636d42">00041</a>         <a class="code" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> &amp;<a class="code" href="classOsclDNSMethod.html#a6247476154547662486ef47f84636d42">iAlloc</a>;
<a name="l00042"></a><a class="code" href="classOsclDNSMethod.html#a7e8e6240982eaf6238ff5d69f6498679">00042</a>         <a class="code" href="group__osclio.html#ga8c2ea6404a214241178a4ca83f9d9a7c">TPVDNSFxn</a> <a class="code" href="classOsclDNSMethod.html#a7e8e6240982eaf6238ff5d69f6498679">iDNSFxn</a>;
<a name="l00043"></a><a class="code" href="classOsclDNSMethod.html#a41d103e6eb7fa5d571a7f692436e1c50">00043</a>         <a class="code" href="classPVLogger.html">PVLogger</a>* <a class="code" href="classOsclDNSMethod.html#a41d103e6eb7fa5d571a7f692436e1c50">iLogger</a>;
<a name="l00044"></a>00044 
<a name="l00045"></a>00045     <span class="keyword">protected</span>:
<a name="l00046"></a>00046         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSMethod.html#a0da089bd0f33f98b41eb87d18f494adf">ConstructL</a>(
<a name="l00047"></a>00047             <a class="code" href="classOsclDNSObserver.html">OsclDNSObserver</a>*aObserver,
<a name="l00048"></a>00048             <a class="code" href="classOsclDNSRequestAO.html">OsclDNSRequestAO</a> *aAO,
<a name="l00049"></a>00049             uint32 aId);
<a name="l00050"></a>00050 
<a name="l00051"></a>00051         <span class="keywordtype">bool</span> <a class="code" href="classOsclDNSMethod.html#af9829dda9be74b2d8eda30e9234b7e94">StartMethod</a>(int32 aTimeoutMsec);
<a name="l00052"></a>00052         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSMethod.html#aa17930b397a2ea83e250b46900dd4475">MethodDone</a>();
<a name="l00053"></a>00053 
<a name="l00054"></a><a class="code" href="classOsclDNSMethod.html#ab27bd96349b28016ed48a6e692baf7e7">00054</a>         <a class="code" href="classOsclDNSRequestAO.html">OsclDNSRequestAO</a> *<a class="code" href="classOsclDNSMethod.html#ab27bd96349b28016ed48a6e692baf7e7">iDNSRequestAO</a>;
<a name="l00055"></a>00055 };
<a name="l00056"></a>00056 
<a name="l00057"></a>00057 
<a name="l00061"></a><a class="code" href="classOsclDNSRequestAO.html">00061</a> <span class="keyword">class </span><a class="code" href="classOsclDNSRequestAO.html">OsclDNSRequestAO</a> : <span class="keyword">public</span> <a class="code" href="classOsclActiveObject.html">OsclActiveObject</a>
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063     <span class="keyword">protected</span>:
<a name="l00064"></a>00064 
<a name="l00065"></a><a class="code" href="classOsclDNSRequestAO.html#ae26fff66ad6c66d9ee36589be22118f6">00065</a>         <a class="code" href="classOsclDNSRequestAO.html#ae26fff66ad6c66d9ee36589be22118f6">OsclDNSRequestAO</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name)
<a name="l00066"></a>00066                 : <a class="code" href="classOsclActiveObject.html">OsclActiveObject</a>(<a class="code" href="classOsclActiveObject.html">OsclActiveObject</a>::<a class="code" href="classOsclActiveObject.html#a3c6b06249a7434b0e513491f6498ebb0ac3fd95a1c0e4db2a29e896205ec826f4">EPriorityNominal</a>, name)
<a name="l00067"></a>00067                 , <a class="code" href="classOsclDNSRequestAO.html#a9f060b0931838f4a49408220b92e3a36">iDNSI</a>(<a class="code" href="group__osclbase.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="The NULL_TERM_CHAR is used to terminate c-style strings.">NULL</a>)
<a name="l00068"></a>00068                 , <a class="code" href="classOsclDNSRequestAO.html#aec45a7680212ba75d9dbb1bd63d4c71e">iDNSMethod</a>(<a class="code" href="group__osclbase.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="The NULL_TERM_CHAR is used to terminate c-style strings.">NULL</a>)
<a name="l00069"></a>00069                 , <a class="code" href="classOsclDNSRequestAO.html#a0819633f64cd4b5048754729c9624602">iSocketError</a>(0)
<a name="l00070"></a>00070         {
<a name="l00071"></a>00071         }
<a name="l00072"></a>00072 
<a name="l00073"></a><a class="code" href="classOsclDNSRequestAO.html#a938ce5d6eef8c30936931aa029751989">00073</a>         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#a938ce5d6eef8c30936931aa029751989">ConstructL</a>(
<a name="l00074"></a>00074             <a class="code" href="classOsclDNSI.html">OsclDNSI</a> *aDNS,
<a name="l00075"></a>00075             <a class="code" href="classOsclDNSMethod.html">OsclDNSMethod</a> *aMethod)
<a name="l00076"></a>00076         {
<a name="l00077"></a>00077             <span class="keywordflow">if</span> (!aMethod)
<a name="l00078"></a>00078                 <a class="code" href="classOsclError.html#a652293eaffb0691632c7b5e360a8e5f8">OsclError::Leave</a>(<a class="code" href="group__osclerror.html#ga96f5e301fd9e1950323f679e44a9ee29">OsclErrGeneral</a>);
<a name="l00079"></a>00079             <a class="code" href="classOsclDNSRequestAO.html#aec45a7680212ba75d9dbb1bd63d4c71e">iDNSMethod</a> = aMethod;
<a name="l00080"></a>00080             <a class="code" href="classOsclDNSRequestAO.html#abbd00449188987ef33e9aed489ddc7ba">iLogger</a> = <a class="code" href="classOsclDNSRequestAO.html#aec45a7680212ba75d9dbb1bd63d4c71e">iDNSMethod</a>-&gt;<a class="code" href="classOsclDNSMethod.html#a41d103e6eb7fa5d571a7f692436e1c50">iLogger</a>;
<a name="l00081"></a>00081             <span class="keywordflow">if</span> (!aDNS)
<a name="l00082"></a>00082                 <a class="code" href="classOsclError.html#a652293eaffb0691632c7b5e360a8e5f8">OsclError::Leave</a>(<a class="code" href="group__osclerror.html#ga96f5e301fd9e1950323f679e44a9ee29">OsclErrGeneral</a>);
<a name="l00083"></a>00083             <a class="code" href="classOsclDNSRequestAO.html#a9f060b0931838f4a49408220b92e3a36">iDNSI</a> = aDNS;
<a name="l00084"></a>00084         }
<a name="l00085"></a>00085 
<a name="l00086"></a><a class="code" href="classOsclDNSRequestAO.html#aa81039799a1870f5dda3e12d35f00993">00086</a>         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#aa81039799a1870f5dda3e12d35f00993">Abort</a>()
<a name="l00087"></a>00087         {
<a name="l00088"></a>00088             <a class="code" href="classOsclActiveObject.html#a54dd85d9ed6c7d73472516cf992038b1">Cancel</a>();
<a name="l00089"></a>00089             <a class="code" href="classOsclActiveObject.html#a1baef84c675b654fbe734c0654a37085">RemoveFromScheduler</a>();
<a name="l00090"></a>00090         }
<a name="l00091"></a>00091         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#ac046b252b970b1b6700ca50e7534cb24">NewRequest</a>();
<a name="l00092"></a>00092         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#a1e608a6e26f570c89f71e02c031dc1f0">RequestDone</a>();
<a name="l00093"></a>00093         <span class="keywordtype">int</span> <a class="code" href="classOsclDNSRequestAO.html#aa740371b5b5dcbf081d9dae0d64f6933">GetSocketError</a>();
<a name="l00094"></a>00094         <a class="code" href="classOsclSocketServI.html">OsclSocketServI</a> *<a class="code" href="classOsclDNSRequestAO.html#ae402af15495fc8fc36958f4c20190986">Serv</a>();
<a name="l00095"></a>00095         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#a47553d505ef919cb8265a6b3ff34ec24">DoCancel</a>();
<a name="l00096"></a>00096         <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#a4de453b38044a00e6cc684b7e51cc8d4">Run</a>();
<a name="l00097"></a>00097 
<a name="l00098"></a><a class="code" href="classOsclDNSRequestAO.html#af2c08c1191c82a1388de50c36e3005eb">00098</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#af2c08c1191c82a1388de50c36e3005eb">Success</a>() {}
<a name="l00099"></a><a class="code" href="classOsclDNSRequestAO.html#ab3ce626b06a7df952766d42bbd051b0e">00099</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#ab3ce626b06a7df952766d42bbd051b0e">Failure</a>() {}
<a name="l00100"></a><a class="code" href="classOsclDNSRequestAO.html#a58969f73271f4e6efc0ba4e8f76bfb87">00100</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOsclDNSRequestAO.html#a58969f73271f4e6efc0ba4e8f76bfb87">Cancelled</a>() {}
<a name="l00101"></a>00101 
<a name="l00102"></a><a class="code" href="classOsclDNSRequestAO.html#a9f060b0931838f4a49408220b92e3a36">00102</a>         <a class="code" href="classOsclDNSI.html">OsclDNSI</a> *<a class="code" href="classOsclDNSRequestAO.html#a9f060b0931838f4a49408220b92e3a36">iDNSI</a>;
<a name="l00103"></a><a class="code" href="classOsclDNSRequestAO.html#aec45a7680212ba75d9dbb1bd63d4c71e">00103</a>         <a class="code" href="classOsclDNSMethod.html">OsclDNSMethod</a> *<a class="code" href="classOsclDNSRequestAO.html#aec45a7680212ba75d9dbb1bd63d4c71e">iDNSMethod</a>;
<a name="l00104"></a><a class="code" href="classOsclDNSRequestAO.html#a0819633f64cd4b5048754729c9624602">00104</a>         int32 <a class="code" href="classOsclDNSRequestAO.html#a0819633f64cd4b5048754729c9624602">iSocketError</a>;
<a name="l00105"></a><a class="code" href="classOsclDNSRequestAO.html#abbd00449188987ef33e9aed489ddc7ba">00105</a>         <a class="code" href="classPVLogger.html">PVLogger</a>* <a class="code" href="classOsclDNSRequestAO.html#abbd00449188987ef33e9aed489ddc7ba">iLogger</a>;
<a name="l00106"></a>00106 
<a name="l00107"></a><a class="code" href="classOsclDNSRequestAO.html#a65dee668a9bd0dfd9679b24792731fdc">00107</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOsclDNSI.html">OsclDNSI</a>;
<a name="l00108"></a><a class="code" href="classOsclDNSRequestAO.html#a526c49745e75af0425107f81896c3e4a">00108</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOsclDNSMethod.html">OsclDNSMethod</a>;
<a name="l00109"></a><a class="code" href="classOsclDNSRequestAO.html#ada203143f7713441621318517aac6688">00109</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOsclDNSRequestAO.html#ada203143f7713441621318517aac6688">OsclDNSRequest</a>;
<a name="l00110"></a><a class="code" href="classOsclDNSRequestAO.html#a74c9c12176bca959f98fe8b1f9f0cf33">00110</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classGetHostByNameParam.html">GetHostByNameParam</a>;
<a name="l00111"></a>00111 };
<a name="l00112"></a>00112 
<a name="l00113"></a>00113 <span class="preprocessor">#endif</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: CORE_9.004.1.1 </small>
</small></address>
</body>
</html>