aboutsummaryrefslogtreecommitdiff
path: root/doc/oscl_html/oscl__registry__serv__impl_8h_source.html
blob: c3ceeac5014a3a1d1254dbad7d2d8c4770807a4d (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
<!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_registry_serv_impl.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_registry_serv_impl.h</h1><a href="oscl__registry__serv__impl_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// -*- c++ -*-</span>
<a name="l00002"></a>00002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
<a name="l00003"></a>00003 
<a name="l00004"></a>00004 <span class="comment">//               Oscl Registry Serv Impl</span>
<a name="l00005"></a>00005 
<a name="l00006"></a>00006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
<a name="l00007"></a>00007 
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef OSCL_REGISTRY_SERV_IMPL_H_INCLUDED</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_REGISTRY_SERV_IMPL_H_INCLUDED</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;<a class="code" href="oscl__base_8h.html" title="The file oscl_base.h is the public header that should be included to pick up the...">oscl_base.h</a>&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;<a class="code" href="osclconfig__proc_8h.html" title="This file contains configuration information for the linux platform.">osclconfig_proc.h</a>&quot;</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="oscl__registry__types_8h.html" title="Common types used in Oscl registry interfaces.">oscl_registry_types.h</a>&quot;</span>
<a name="l00026"></a>00026 
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="oscl__string_8h.html" title="Provides a standardized set of string containers that can be used in place of character...">oscl_string.h</a>&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="oscl__vector_8h.html" title="The file oscl_vector.h defines the template class Oscl_Vector which has a very similar...">oscl_vector.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="oscl__mem_8h.html" title="This file contains basic memory definitions for common use across platforms.">oscl_mem.h</a>&quot;</span>
<a name="l00034"></a>00034 
<a name="l00038"></a><a class="code" href="classOsclComponentRegistryElement.html">00038</a> <span class="keyword">class </span><a class="code" href="classOsclComponentRegistryElement.html">OsclComponentRegistryElement</a>
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040     <span class="keyword">public</span>:
<a name="l00041"></a>00041         <a class="code" href="classOsclComponentRegistryElement.html#a146048a86b2a031fad46504414659a3a">OsclComponentRegistryElement</a>(<a class="code" href="classOSCL__String.html">OSCL_String</a>&amp;, <a class="code" href="group__osclutil.html#ga3f2d0bffbe6a0339696380af91de131c">OsclComponentFactory</a>);
<a name="l00042"></a>00042         <a class="code" href="classOsclComponentRegistryElement.html#a146048a86b2a031fad46504414659a3a">OsclComponentRegistryElement</a>(<span class="keyword">const</span> <a class="code" href="classOsclComponentRegistryElement.html">OsclComponentRegistryElement</a>&amp;);
<a name="l00043"></a>00043         <a class="code" href="classOsclComponentRegistryElement.html">OsclComponentRegistryElement</a>&amp; <a class="code" href="classOsclComponentRegistryElement.html#ab166b53cbf0fcda853ec98a2b39c414c">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOsclComponentRegistryElement.html">OsclComponentRegistryElement</a>&amp; src);
<a name="l00044"></a>00044         <a class="code" href="classOsclComponentRegistryElement.html#ad81aa48acd76b28e348826b34a241f24">~OsclComponentRegistryElement</a>();
<a name="l00045"></a>00045 
<a name="l00046"></a>00046         <span class="keywordtype">bool</span> <a class="code" href="classOsclComponentRegistryElement.html#a5b634805066835f7403d8f700b37aa76">Match</a>(<a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; aStr, <span class="keywordtype">bool</span> aExact);
<a name="l00047"></a>00047 
<a name="l00048"></a><a class="code" href="classOsclComponentRegistryElement.html#a2aa6adc4a0fd82024b8714c134369a4d">00048</a>         <a class="code" href="classOSCL__String.html">OSCL_String</a>* <a class="code" href="classOsclComponentRegistryElement.html#a2aa6adc4a0fd82024b8714c134369a4d">iId</a>;<span class="comment">//use a pointer here instead of a container for efficiency</span>
<a name="l00049"></a>00049         <span class="comment">//since this element is used in an oscl vector.</span>
<a name="l00050"></a><a class="code" href="classOsclComponentRegistryElement.html#a1443337691fe842c5c816a9deb369b4f">00050</a>         <a class="code" href="group__osclutil.html#ga3f2d0bffbe6a0339696380af91de131c">OsclComponentFactory</a> <a class="code" href="classOsclComponentRegistryElement.html#a1443337691fe842c5c816a9deb369b4f">iFactory</a>;
<a name="l00051"></a><a class="code" href="classOsclComponentRegistryElement.html#a68b0ec4a4f21a07c82e3413abdcba4e4">00051</a>         uint32 <a class="code" href="classOsclComponentRegistryElement.html#a68b0ec4a4f21a07c82e3413abdcba4e4">iComponentId</a>;
<a name="l00052"></a>00052 };
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 
<a name="l00058"></a><a class="code" href="classOsclComponentRegistryData.html">00058</a> <span class="keyword">class </span><a class="code" href="classOsclComponentRegistryData.html">OsclComponentRegistryData</a>
<a name="l00059"></a>00059 {
<a name="l00060"></a>00060     <span class="keyword">public</span>:
<a name="l00061"></a>00061         <a class="code" href="classOsclComponentRegistryElement.html">OsclComponentRegistryElement</a>* <a class="code" href="classOsclComponentRegistryData.html#a546bc417bc6adb098bf42ef5a350f238">Find</a>(<a class="code" href="classOSCL__String.html">OSCL_String</a>&amp;, <span class="keywordtype">bool</span> aExact);
<a name="l00062"></a><a class="code" href="classOsclComponentRegistryData.html#ab25a24413a760e7332e897451e8e9ddf">00062</a>         <a class="code" href="classOscl__Vector.html">Oscl_Vector&lt;OsclComponentRegistryElement, OsclMemAllocator&gt;</a> <a class="code" href="classOsclComponentRegistryData.html#ab25a24413a760e7332e897451e8e9ddf">iVec</a>;
<a name="l00063"></a>00063 };
<a name="l00064"></a>00064 
<a name="l00068"></a>00068 <span class="preprocessor">#include &quot;<a class="code" href="oscl__mutex_8h.html" title="This file provides implementation of mutex.">oscl_mutex.h</a>&quot;</span>
<a name="l00069"></a><a class="code" href="classOsclComponentRegistry.html">00069</a> <span class="keyword">class </span><a class="code" href="classOsclComponentRegistry.html">OsclComponentRegistry</a>
<a name="l00070"></a>00070 {
<a name="l00071"></a>00071     <span class="keyword">public</span>:
<a name="l00072"></a>00072         <a class="code" href="classOsclComponentRegistry.html#aab5b4430a7643269afbf1d0bc629afaa">OsclComponentRegistry</a>();
<a name="l00073"></a>00073         <a class="code" href="classOsclComponentRegistry.html#ae6785800c9cefc5c2e1123d2352a71bd">~OsclComponentRegistry</a>();
<a name="l00074"></a>00074         int32 <a class="code" href="classOsclComponentRegistry.html#a08310ff2430107a1f6fdbd6b2dc0e9de">Register</a>(uint32&amp; aId, <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp;, <a class="code" href="group__osclutil.html#ga3f2d0bffbe6a0339696380af91de131c">OsclComponentFactory</a>);
<a name="l00075"></a>00075         int32 <a class="code" href="classOsclComponentRegistry.html#af4cb15eb8d190abb249076e19a807c5f">Unregister</a>(<a class="code" href="classOSCL__String.html">OSCL_String</a>&amp;);
<a name="l00076"></a>00076         int32 <a class="code" href="classOsclComponentRegistry.html#af4cb15eb8d190abb249076e19a807c5f">Unregister</a>(uint32);
<a name="l00077"></a>00077         <a class="code" href="group__osclutil.html#ga3f2d0bffbe6a0339696380af91de131c">OsclComponentFactory</a> <a class="code" href="classOsclComponentRegistry.html#a0207b352b81bde459874e6ae89afbf17">FindExact</a>(<a class="code" href="classOSCL__String.html">OSCL_String</a>&amp;);
<a name="l00078"></a>00078         <span class="keywordtype">void</span> <a class="code" href="classOsclComponentRegistry.html#ab39caddd9070825d59c6e0065756a53e">FindHierarchical</a>(<a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; , <a class="code" href="classOscl__Vector.html">Oscl_Vector&lt;OsclRegistryAccessElement, OsclMemAllocator&gt;</a>&amp;);
<a name="l00079"></a>00079         <span class="keywordtype">void</span> <a class="code" href="classOsclComponentRegistry.html#aae578a6a600e23497df7b389dad1a735">OpenSession</a>();
<a name="l00080"></a>00080         <span class="keywordtype">void</span> <a class="code" href="classOsclComponentRegistry.html#abc63cd6057f13d19ef44f80d81113ca4">CloseSession</a>();
<a name="l00081"></a>00081 
<a name="l00082"></a><a class="code" href="classOsclComponentRegistry.html#aa3aabbe9193bf68522bf0e2d12d02437">00082</a>         <a class="code" href="classOsclComponentRegistryData.html">OsclComponentRegistryData</a> <a class="code" href="classOsclComponentRegistry.html#aa3aabbe9193bf68522bf0e2d12d02437">iData</a>;
<a name="l00083"></a><a class="code" href="classOsclComponentRegistry.html#afc91a550b8e14848ff736b3a8e8d555e">00083</a>         <a class="code" href="classOsclMutex.html">OsclMutex</a> <a class="code" href="classOsclComponentRegistry.html#afc91a550b8e14848ff736b3a8e8d555e">iMutex</a>;
<a name="l00084"></a>00084 
<a name="l00085"></a><a class="code" href="classOsclComponentRegistry.html#ad796ddba4e38ec6149f1063a212b25de">00085</a>         uint32 <a class="code" href="classOsclComponentRegistry.html#ad796ddba4e38ec6149f1063a212b25de">iComponentIdCounter</a>;
<a name="l00086"></a>00086 
<a name="l00087"></a><a class="code" href="classOsclComponentRegistry.html#a2fa6927d1db6ea5b2c85a1d206a68545">00087</a>         uint32 <a class="code" href="classOsclComponentRegistry.html#a2fa6927d1db6ea5b2c85a1d206a68545">iNumSessions</a>;
<a name="l00088"></a>00088 };
<a name="l00089"></a>00089 
<a name="l00090"></a>00090 
<a name="l00091"></a>00091 <span class="preprocessor">#endif //OSCL_REGISTRY_IMPL_H_INCLUDED</span>
<a name="l00092"></a>00092 <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>