1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>oscl_base.h Source File</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5</head><body> 6<!-- Generated by Doxygen 1.2.18 --> 7<center> 8<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9<hr><h1>oscl_base.h</h1><a href="oscl__base_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span> 1000002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> 1100003 1200004 <span class="comment">// O S C L _ B A S E</span> 1300005 1400006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> 1500007 1600018 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span> 1700019 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_BASE_H_INCLUDED</span> 1800020 <span class="preprocessor"></span> 1900021 <span class="preprocessor">#include "<a class="code" href="osclconfig_8h.html">osclconfig.h</a>"</span> 2000022 <span class="preprocessor">#include "<a class="code" href="oscl__base__macros_8h.html">oscl_base_macros.h</a>"</span> 2100023 <span class="preprocessor">#include "<a class="code" href="oscl__types_8h.html">oscl_types.h</a>"</span> 2200024 <span class="preprocessor">#include "<a class="code" href="osclconfig__check_8h.html">osclconfig_check.h</a>"</span> 2300025 2400026 <span class="preprocessor">#ifdef USE_CML2_CONFIG</span> 2500027 <span class="preprocessor"></span><span class="preprocessor">#include "pv_config.h"</span> 2600028 <span class="preprocessor">#endif</span> 2700029 <span class="preprocessor"></span> 2800030 <span class="comment">//singleton support derives from global var support.</span> 29<a name="l00031"></a><a class="code" href="group__osclbase.html#a79">00031</a> <span class="preprocessor">#define OSCL_HAS_SINGLETON_SUPPORT 1</span> 3000032 <span class="preprocessor"></span> 3100033 <span class="preprocessor">#ifdef __cplusplus</span> 3200034 <span class="preprocessor"></span> 3300035 <span class="keyword">class </span><a class="code" href="classOsclLockBase.html">OsclLockBase</a>; 3400036 3500037 <span class="keyword">class </span>OsclBase 3600038 { 3700039 <span class="keyword">public</span>: 3800054 OSCL_IMPORT_REF <span class="keyword">static</span> int32 Init(); 3900055 4000062 OSCL_IMPORT_REF <span class="keyword">static</span> int32 Cleanup(); 4100063 }; 4200064 4300070 <span class="keyword">enum</span> TPVBaseErrorEnum 4400071 { 4500072 EPVErrorBaseNotInstalled = 1 4600073 , EPVErrorBaseAlreadyInstalled = 2 4700074 , EPVErrorBaseOutOfMemory = 3 4800075 , EPVErrorBaseSystemCallFailed = 4 4900076 , EPVErrorBaseTooManyThreads = 5 5000077 }; 5100078 5200079 <span class="preprocessor">#include "<a class="code" href="oscl__lock__base_8h.html">oscl_lock_base.h</a>"</span> 5300080 5400086 <span class="preprocessor">#if (OSCL_HAS_BASIC_LOCK)</span> 5500087 <span class="preprocessor"></span><span class="keyword">class </span>_OsclBasicLock : <span class="keyword">public</span> <a class="code" href="classOsclLockBase.html">OsclLockBase</a> 5600088 { 5700089 <span class="keyword">public</span>: 5800090 5900094 OSCL_IMPORT_REF _OsclBasicLock(); 6000095 6100099 OSCL_IMPORT_REF ~_OsclBasicLock(); 6200100 6300105 OSCL_IMPORT_REF <span class="keywordtype">void</span> <a class="code" href="classOsclLockBase.html#a0">Lock</a>(); 6400106 6500111 OSCL_IMPORT_REF <span class="keywordtype">void</span> <a class="code" href="classOsclLockBase.html#a1">Unlock</a>(); 6600112 6700113 6800117 int32 iError; 6900118 7000119 <span class="keyword">private</span>: 7100120 TOsclBasicLockObject ObjLock; 7200121 7300122 }; 7400123 <span class="preprocessor">#else</span> 7500124 <span class="preprocessor"></span><span class="keyword">typedef</span> <a class="code" href="classOsclNullLock.html">OsclNullLock</a> _OsclBasicLock; 7600125 <span class="preprocessor">#endif</span> 7700126 <span class="preprocessor"></span> 7800127 <span class="preprocessor">#else</span> 7900128 <span class="preprocessor"></span> 8000136 <span class="keywordtype">void</span> <a class="code" href="group__osclbase.html#a36">PVOsclBase_Init</a>(); 8100137 8200143 <span class="keywordtype">void</span> <a class="code" href="group__osclbase.html#a37">PVOsclBase_Cleanup</a>(); 8300144 8400145 <span class="preprocessor">#endif</span> 8500146 <span class="preprocessor"></span> 8600149 <span class="preprocessor">#endif // OSCL_BASE_H_INCLUDED</span> 87</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 88<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 89</small></address> 90</body> 91</html> 92