Files
NXT-Dev-Kits/LEGO MINDSTORMS NXT Software Developer Kit/fantom/documentation/html/iFile_8h-source.html

179 lines
8.7 KiB
HTML
Executable File

<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iFile.h</h1><a href="iFile_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> © Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iFile.h</font>
00011 <font class="comment"> Originated: 12 May 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iFile_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iFile_h___</font>
00016 <font class="preprocessor"></font>
00017 <font class="comment">// includes...</font>
00018
00019 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00020 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00021 <font class="preprocessor">#endif</font>
00022 <font class="preprocessor"></font>
00023 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00024 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00025 <font class="preprocessor">#endif</font>
00026 <font class="preprocessor"></font>
00027
00028 <font class="comment">// defines...</font>
00029
00030
<a name="l00031"></a><a class="code" href="namespacenFANTOM100.html">00031</a> <font class="keyword">namespace </font>nFANTOM100
00032 {
00033 <font class="comment">// forward declarations...</font>
00034
00035 <font class="comment">// typedefs...</font>
00036
00037 <font class="comment">// classes...</font>
00038
00043 <font class="keyword">class </font>iFile
00044 {
00045 <font class="keyword">friend</font> <font class="keyword">class </font>tNXT;
00046
00047 <font class="comment">// methods</font>
00048 <font class="keyword">protected</font>:
00049
00051 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iFile.html#b0">~iFile</a>() = 0;
00052
00053 <font class="keyword">public</font>:
00054
00056
00061 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a0">getName</a>( ViChar fileName[] ) <font class="keyword">const</font> = 0;
00062
00064
00070 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a1">getSize</a>( tStatus&amp; status ) = 0;
00071
00073
00081 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a2">getAvailableSize</a>( tStatus&amp; status ) = 0;
00082
00083
00085
00091 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a3">openForRead</a>( tStatus&amp; status ) = 0;
00092
00093
00095
00104 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a4">openForWrite</a>( ViUInt32 sizeInBytes, tStatus&amp; status ) = 0;
00105
00106
00108
00117 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a5">openForLinearWrite</a>( ViUInt32 sizeInBytes, tStatus&amp; status ) = 0;
00118
00119
00121
00131 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a6">openForDataWrite</a>( ViUInt32 sizeInBytes, tStatus&amp; status ) = 0;
00132
00133
00135
00144 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a7">openForDataAppend</a>( tStatus&amp; status ) = 0;
00145
00146
00148
00154 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a8">close</a>( tStatus&amp; status ) = 0;
00155
00156
00158
00173 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a9">read</a>( ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus&amp; status ) = 0;
00174
00175
00177
00192 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a10">write</a>( <font class="keyword">const</font> ViByte bufferPtr[], ViUInt32 numberOfBytes,
00193 tStatus&amp; status ) = 0;
00194
00195
00197
00203 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a11">remove</a>( tStatus&amp; status ) = 0;
00204
00205 };
00206
00207
00208 <font class="comment">// constants...</font>
00209 <font class="keyword">const</font> ViUInt8 kProtocolFilenameLength = 19; <font class="comment">// 15 basename + 1 dot + 3 extension = 19</font>
00210
00211 } <font class="comment">// namespace nFANTOM100</font>
00212
00213
00214 <font class="comment">// declarations for globally-scoped globals...</font>
00215
00216 <font class="comment">// typedefs...</font>
00217 <font class="keyword">typedef</font> ViObject nFANTOM100_iFile;
00218
00219 <font class="comment">// prototypes...</font>
00220 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00221 {
00222 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_getName(
00223 nFANTOM100_iFile filePtr,
00224 ViChar fileName[],
00225 ViStatus* status );
00226
00227 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFile_getSize(
00228 nFANTOM100_iFile filePtr,
00229 ViStatus* status );
00230
00231 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFile_getAvailableSize(
00232 nFANTOM100_iFile filePtr,
00233 ViStatus* status );
00234
00235 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForRead(
00236 nFANTOM100_iFile filePtr,
00237 ViStatus* status );
00238
00239 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForWrite(
00240 nFANTOM100_iFile filePtr,
00241 ViUInt32 sizeInBytes,
00242 ViStatus* status );
00243
00244 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForLinearWrite(
00245 nFANTOM100_iFile filePtr,
00246 ViUInt32 sizeInBytes,
00247 ViStatus* status );
00248
00249 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForDataWrite(
00250 nFANTOM100_iFile filePtr,
00251 ViUInt32 sizeInBytes,
00252 ViStatus* status );
00253
00254 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForDataAppend(
00255 nFANTOM100_iFile filePtr,
00256 ViStatus* status );
00257
00258 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_close(
00259 nFANTOM100_iFile filePtr,
00260 ViStatus* status );
00261
00262 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_read(
00263 nFANTOM100_iFile filePtr,
00264 ViPBuf bufferPtr,
00265 ViUInt32 numberOfBytes,
00266 ViStatus* status );
00267
00268 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_write(
00269 nFANTOM100_iFile filePtr,
00270 <font class="keyword">const</font> ViByte bufferPtr[],
00271 ViUInt32 numberOfBytes,
00272 ViStatus* status );
00273
00274 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_remove(
00275 nFANTOM100_iFile filePtr,
00276 ViStatus* status );
00277
00278 }
00279
00280 <font class="preprocessor">#endif // ___fantom_iFile_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>