📄 aflibfile_8h-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>aflibFile.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>aflibFile.h</h1><a href="aflibFile_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>00002 <font class="comment"> * Copyright: (C) 1999-2001 Bruce W. Forsberg</font>00003 <font class="comment"> *</font>00004 <font class="comment"> * This library is free software; you can redistribute it and/or</font>00005 <font class="comment"> * modify it under the terms of the GNU Lesser General Public</font>00006 <font class="comment"> * License as published by the Free Software Foundation; either</font>00007 <font class="comment"> * version 2.1 of the License, or any later version.</font>00008 <font class="comment"> *</font>00009 <font class="comment"> * This library is distributed in the hope that it will be useful,</font>00010 <font class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</font>00011 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>00012 <font class="comment"> * Lesser General Public License for more details.</font>00013 <font class="comment"> *</font>00014 <font class="comment"> * You should have received a copy of the GNU Lesser General Public</font>00015 <font class="comment"> * License along with this library; if not, write to the Free Software</font>00016 <font class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</font>00017 <font class="comment"> *</font>00018 <font class="comment"> * Bruce Forsberg forsberg@tns.net</font>00019 <font class="comment"> *</font>00020 <font class="comment"> */</font>00021 00022 <font class="preprocessor">#ifndef _AFLIBFILE_H</font>00023 <font class="preprocessor"></font><font class="preprocessor">#define _AFLIBFILE_H</font>00024 <font class="preprocessor"></font>00025 <font class="preprocessor">#ifdef HAVE_CONFIG_H</font>00026 <font class="preprocessor"></font><font class="preprocessor">#include "config.h"</font>00027 <font class="preprocessor">#endif</font>00028 <font class="preprocessor"></font>00029 <font class="preprocessor">#include "<a class="code" href="aflib_8h.html">aflib.h</a>"</font>00030 <font class="preprocessor">#include "<a class="code" href="aflibConfig_8h.html">aflibConfig.h</a>"</font>00031 00032 <font class="preprocessor">#include <string></font>00033 <font class="preprocessor">#include <list></font>00034 <font class="preprocessor">#include <map></font>00035 <font class="keyword">using</font> std::string;00036 <font class="keyword">using</font> std::list;00037 <font class="keyword">using</font> std::map;00038 00039 00068 <font class="keyword">class </font><a class="code" href="classaflibData.html">aflibData</a>;00069 <font class="keyword">class </font><a class="code" href="classaflibFileItem.html">aflibFileItem</a>;00070 00071 <font class="keyword">class </font><a class="code" href="classaflibFile.html">aflibFile</a> {00072 00073 <font class="keyword">public</font>:00074 00075 <font class="keyword">virtual</font> <a class="code" href="classaflibFile.html#a0">~aflibFile</a>();00076 00077 <font class="keyword">static</font> <font class="keywordtype">void</font>00078 <a class="code" href="classaflibFile.html#d1">returnSupportedFormats</a>(00079 list <string>& formats,00080 list <string>& descriptions);00081 00082 <font class="keyword">static</font> <font class="keyword">const</font> list<aflibFileItem*>& 00083 <a class="code" href="classaflibFile.html#d1">returnSupportedFormats</a>();00084 00085 <font class="keyword">static</font> <a class="code" href="classaflibFile.html">aflibFile</a> *00086 <a class="code" href="classaflibFile.html#d2">open</a>(00087 <a class="code" href="aflib_8h.html#a34">aflibFileType</a> type_enum,00088 <font class="keyword">const</font> string& file,00089 <a class="code" href="classaflibConfig.html">aflibConfig</a>* cfg = NULL,00090 <a class="code" href="aflib_8h.html#a33">aflibStatus</a>* status = NULL);00091 00092 <font class="keyword">static</font> <a class="code" href="classaflibFile.html">aflibFile</a> *00093 <a class="code" href="classaflibFile.html#d2">open</a>(00094 <font class="keyword">const</font> string& format,00095 <font class="keyword">const</font> string& file,00096 <a class="code" href="classaflibConfig.html">aflibConfig</a>* cfg = NULL,00097 <a class="code" href="aflib_8h.html#a33">aflibStatus</a>* status = NULL);00098 00099 <font class="keyword">static</font> <a class="code" href="classaflibFile.html">aflibFile</a> *00100 <a class="code" href="classaflibFile.html#d4">create</a>(00101 <a class="code" href="aflib_8h.html#a34">aflibFileType</a> type_enum,00102 <font class="keyword">const</font> string& file,00103 <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg,00104 <a class="code" href="aflib_8h.html#a33">aflibStatus</a>* status = NULL);00105 00106 <font class="keyword">static</font> <a class="code" href="classaflibFile.html">aflibFile</a> *00107 <a class="code" href="classaflibFile.html#d4">create</a>(00108 <font class="keyword">const</font> string& format,00109 <font class="keyword">const</font> string& file,00110 <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg,00111 <a class="code" href="aflib_8h.html#a33">aflibStatus</a>* status = NULL);00112 00113 <font class="keyword">virtual</font> <a class="code" href="aflib_8h.html#a33">aflibStatus</a>00114 <a class="code" href="classaflibFile.html#a1">afopen</a>(00115 <font class="keyword">const</font> <font class="keywordtype">char</font> * file,00116 <a class="code" href="classaflibConfig.html">aflibConfig</a>* cfg);00117 00118 <font class="keyword">virtual</font> <a class="code" href="aflib_8h.html#a33">aflibStatus</a>00119 <a class="code" href="classaflibFile.html#a2">afcreate</a>(00120 <font class="keyword">const</font> <font class="keywordtype">char</font> * file,00121 <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg);00122 00123 <font class="keyword">virtual</font> <a class="code" href="aflib_8h.html#a33">aflibStatus</a>00124 <a class="code" href="classaflibFile.html#a3">afread</a>(00125 <a class="code" href="classaflibData.html">aflibData</a>& data,00126 <font class="keywordtype">long</font> <font class="keywordtype">long</font> position = -1);00127 00128 <font class="keyword">virtual</font> <a class="code" href="aflib_8h.html#a33">aflibStatus</a>00129 <a class="code" href="classaflibFile.html#a4">afwrite</a>(00130 <a class="code" href="classaflibData.html">aflibData</a>& data,00131 <font class="keywordtype">long</font> <font class="keywordtype">long</font> position = -1);00132 00133 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00134 <a class="code" href="classaflibFile.html#a5">setItem</a>(00135 <font class="keyword">const</font> <font class="keywordtype">char</font> * item,00136 <font class="keyword">const</font> <font class="keywordtype">void</font> * value);00137 00138 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00139 <a class="code" href="classaflibFile.html#a6">getItem</a>(00140 <font class="keyword">const</font> <font class="keywordtype">char</font> * item,00141 <font class="keywordtype">void</font> * value);00142 00143 <font class="keyword">const</font> string&00144 <a class="code" href="classaflibFile.html#a7">getFormat</a>() <font class="keyword">const</font>;00145 00146 <font class="keyword">virtual</font> <font class="keywordtype">void</font>00147 <a class="code" href="classaflibFile.html#a8">setInputConfig</a>(<font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg);00148 00149 <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&00150 <a class="code" href="classaflibFile.html#a9">getInputConfig</a>() <font class="keyword">const</font>;00151 00152 <font class="keywordtype">void</font>00153 <a class="code" href="classaflibFile.html#a10">setOutputConfig</a>(<font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>& cfg);00154 00155 <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&00156 <a class="code" href="classaflibFile.html#a11">getOutputConfig</a>() <font class="keyword">const</font>;00157 00158 <font class="keywordtype">void</font>00159 <a class="code" href="classaflibFile.html#a12">setValue1</a>(<font class="keyword">const</font> string& value);00160 00161 <font class="keywordtype">void</font>00162 <a class="code" href="classaflibFile.html#a13">setValue2</a>(<font class="keyword">const</font> string& value);00163 00164 <font class="keywordtype">void</font>00165 <a class="code" href="classaflibFile.html#a14">setValue3</a>(<font class="keyword">const</font> string& value);00166 00167 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00168 <a class="code" href="classaflibFile.html#a15">isDataSizeSupported</a>(<a class="code" href="aflib_8h.html#a30">aflib_data_size</a> size);00169 00170 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00171 <a class="code" href="classaflibFile.html#a16">isEndianSupported</a>(<a class="code" href="aflib_8h.html#a31">aflib_data_endian</a> end);00172 00173 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00174 <a class="code" href="classaflibFile.html#a17">isSampleRateSupported</a>(<font class="keywordtype">int</font>& rate);00175 00176 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00177 <a class="code" href="classaflibFile.html#a18">isChannelsSupported</a>(<font class="keywordtype">int</font>& channels);00178 00179 <font class="keyword">protected</font>:00180 00181 <a class="code" href="classaflibFile.html#b0">aflibFile</a>();00182 <a name="l00183"></a><a class="code" href="classaflibFile.html#n0">00183</a> <font class="keywordtype">long</font> <a class="code" href="classaflibFile.html#n0">_total_size</a>;<a name="l00184"></a><a class="code" href="classaflibFile.html#n1">00184</a> <font class="keywordtype">long</font> <a class="code" href="classaflibFile.html#n1">_one_second_size</a>;<a name="l00185"></a><a class="code" href="classaflibFile.html#n2">00185</a> <font class="keywordtype">long</font> <a class="code" href="classaflibFile.html#n2">_current_place_size</a>;<a name="l00186"></a><a class="code" href="classaflibFile.html#n3">00186</a> string <a class="code" href="classaflibFile.html#n3">_value1</a>;<a name="l00187"></a><a class="code" href="classaflibFile.html#n4">00187</a> string <a class="code" href="classaflibFile.html#n4">_value2</a>;<a name="l00188"></a><a class="code" href="classaflibFile.html#n5">00188</a> string <a class="code" href="classaflibFile.html#n5">_value3</a>;00189 00190 00191 <font class="keyword">private</font>:00192 00193 <font class="comment">//void (*_isChannelsSupported)(int&);</font>00194 <a class="code" href="classaflibConfig.html">aflibConfig</a> _cfg_input;00195 <a class="code" href="classaflibConfig.html">aflibConfig</a> _cfg_output;00196 <font class="keywordtype">void</font> * _lib1;00197 <a class="code" href="classaflibFile.html">aflibFile</a> * _file_object;00198 string _format;00199 <font class="keyword">static</font> list<aflibFileItem *> _support_list;00200 <font class="keyword">static</font> <font class="keywordtype">bool</font> _list_created;00201 00202 00203 <a class="code" href="classaflibFile.html#b0">aflibFile</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> * module_name);00204 00205 <a class="code" href="classaflibFile.html#b0">aflibFile</a>(<font class="keyword">const</font> <a class="code" href="classaflibFile.html">aflibFile</a>& file);00206 00207 <font class="keyword">const</font> <a class="code" href="classaflibFile.html">aflibFile</a>&00208 operator== (<font class="keyword">const</font> <a class="code" href="classaflibFile.html">aflibFile</a>& file);00209 00210 <font class="keyword">static</font> <a class="code" href="classaflibFile.html">aflibFile</a> *00211 allocateModuleFile(00212 <a class="code" href="aflib_8h.html#a34">aflibFileType</a> type_enum,00213 <font class="keyword">const</font> <font class="keywordtype">char</font> * module_format);00214 00215 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *00216 findModuleFile(<font class="keyword">const</font> string& file_name);00217 00218 <font class="keyword">static</font> <font class="keywordtype">void</font>00219 parseModuleFile();00220 00221 <font class="keywordtype">bool</font>00222 initialized();00223 00224 };00225 00226 <font class="preprocessor">#endif</font></pre></div><hr><address align="right"><small>Generated on Wed May 8 20:51:06 2002 for Open Source Audio Library Project by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -