00001 #if !defined(_NULLBUFFER_HPP) 00002 #define _NULLBUFFER_HPP 00003 //============================================================================= 00004 // 00005 // XDFLengine library 00006 // 00007 //----------------------------------------------------------------------------- 00008 // NULLBUFFER.HPP 00009 //----------------------------------------------------------------------------- 00015 //_____________________________________________________________________________ 00016 // 00017 // Copyright (C) 2003 Guillaume Baurand. All Rights Reserved. 00018 // 00019 // This file is part of the XDFLengine project. 00020 // 00021 // The XDFLengine is free software; you can redistribute it and/or modify 00022 // it under the terms of the GNU General Public License as published by 00023 // the Free Software Foundation; either version 2 of the License, or 00024 // (at your option) any later version. 00025 // 00026 // This program is distributed in the hope that it will be useful, 00027 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00028 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00029 // GNU General Public License for more details. 00030 // 00031 // You should have received a copy of the GNU General Public License 00032 // along with this program; if not, write to the Free Software 00033 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00034 // USA. 00035 // 00036 // For more information, 00037 // contact : guillaume@baurand.net 00038 // or visit : http://xdflengine.sourceforge.net 00039 // 00040 //============================================================================= 00041 00042 # include "config/commonincs.hpp" 00043 # include "flow/xmlstreambuffer.hpp" 00044 00045 BEGIN_XDFLENGINE_NS 00046 00047 //============================================================================= 00048 // CLASS NULLBUFFER 00049 //----------------------------------------------------------------------------- 00052 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00053 class XDFLENGINE_EXPORT NullBuffer: public XMLStreamBuffer 00054 { 00055 00056 public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00057 00058 // CONTRUCTOR & DESTRUCTOR 00059 00060 //_____________________________________________________________________ 00061 // NULLBUFFER 00062 //--------------------------------------------------------------------- 00065 //_____________________________________________________________________ 00066 NullBuffer (); 00067 00068 //_____________________________________________________________________ 00069 // NULLBUFFER 00070 //--------------------------------------------------------------------- 00075 //_____________________________________________________________________ 00076 NullBuffer ( const char* p_cFileName, bool p_boolReadOnly = false); 00077 00078 //_____________________________________________________________________ 00079 // ~NULLBUFFER 00080 //--------------------------------------------------------------------- 00082 //_____________________________________________________________________ 00083 ~NullBuffer (); 00084 00085 00086 // STREAM OPERATORS 00087 00088 //_____________________________________________________________________ 00089 // OPERATOR << 00090 //--------------------------------------------------------------------- 00094 //_____________________________________________________________________ 00095 XMLStreamBuffer & operator<< ( const char* p_cData); 00096 00097 //_____________________________________________________________________ 00098 // OPERATOR << 00099 //--------------------------------------------------------------------- 00103 //_____________________________________________________________________ 00104 XMLStreamBuffer & operator<< ( XMLStreamBuffer& p_pXMLStreamBuffer); 00105 00106 //_____________________________________________________________________ 00107 // OPERATOR >> 00108 //--------------------------------------------------------------------- 00112 //_____________________________________________________________________ 00113 XMLStreamBuffer & operator>> ( XMLStreamBuffer& p_pXMLStreamBuffer); 00114 00115 // DATA 00116 00117 //_____________________________________________________________________ 00118 // OPERATOR << 00119 //--------------------------------------------------------------------- 00123 //_____________________________________________________________________ 00124 void write ( const void* p_bData, int p_intSize); 00125 00126 //_____________________________________________________________________ 00127 // FLUSH 00128 //--------------------------------------------------------------------- 00131 //_____________________________________________________________________ 00132 void flush (); 00133 00134 //_____________________________________________________________________ 00135 // DATA 00136 //--------------------------------------------------------------------- 00140 //_____________________________________________________________________ 00141 void* data (); 00142 00143 //_____________________________________________________________________ 00144 // LENGTH 00145 //--------------------------------------------------------------------- 00148 //_____________________________________________________________________ 00149 int length (); 00150 00151 //_____________________________________________________________________ 00152 // GETINPUTSOURCE 00153 //--------------------------------------------------------------------- 00157 //_____________________________________________________________________ 00158 InputSource* getInputSource (); 00159 00160 //_____________________________________________________________________ 00161 // GETNAME 00162 //--------------------------------------------------------------------- 00165 //_____________________________________________________________________ 00166 const char* getName (); 00167 00168 //_____________________________________________________________________ 00169 // SLEEP 00170 //--------------------------------------------------------------------- 00173 //_____________________________________________________________________ 00174 void sleep (); 00175 00176 }; 00177 //============================================================================= 00178 00179 END_XDFLENGINE_NS 00180 00181 #endif 00182