00001 // DCFsbostreamBase.h 00002 ////////////////////////////////////////////////////////////////////// 00003 // (c) Copyright 2001-2002 Brown Deer Technology, LLC. 00004 // All rights reserved. 00005 ////////////////////////////////////////////////////////////////////// 00006 00007 #ifndef DCFSBOSTREAMBASE_H 00008 #define DCFSBOSTREAMBASE_H 00009 00010 #ifdef USE_STD 00011 #include <string> 00012 using namespace std; 00013 #else 00014 #include <string.h> 00015 #endif 00016 00017 #include "DCFutility.h" 00018 #include "DCFmpacketBase.h" 00019 00020 class DCFsbostreamBase 00021 { 00022 public: 00023 DCFsbostreamBase( const string& = "_\0", ostream& os = cout ); 00024 // inline ~DCFsbostreamBase() {} 00025 00026 inline void version( const int ); 00027 inline int version(); 00028 inline void revision( const int ); 00029 inline int revision(); 00030 inline void author( const int ); 00031 inline int author(); 00032 inline void descript( const string& ); 00033 inline string& descript(); 00034 inline void blocknum( const int ); 00035 inline int blocknum(); 00036 inline void mthis0( const int ); 00037 inline int mthis0(); 00038 inline void mthis1( const int ); 00039 inline int mthis1(); 00040 inline void mmax(const int ); 00041 inline int mmax(); 00042 00043 inline void bplen_sizeb(const int ); 00044 inline int bplen_sizeb(); 00045 inline void bplen_n(const int ); 00046 inline int bplen_n(); 00047 00048 inline void enctype( const int ); 00049 inline int enctype(); 00050 inline void encsizeb( const int ); 00051 inline int encsizeb(); 00052 00053 inline void finalstep( const int ); 00054 inline int finalstep(); 00055 00056 virtual void descr( ostream& = cout ); 00057 virtual bool isopen(); 00058 virtual void open() {} 00059 virtual void close() {} 00060 virtual void outheader(); 00061 00062 protected: 00063 int _version; 00064 int _revision; 00065 int _author; 00066 int _lendescript; 00067 string _descript; 00068 int _blocknum; 00069 int _mthis0; 00070 int _mthis1; 00071 int _mmax; 00072 int _bplen_sizeb; 00073 int _bplen_n; 00074 00075 int _enctype; 00076 int _encsizeb; 00077 00078 ostream* _os; 00079 00080 bool _needheader; 00081 00082 bool _lockfinalstep; 00083 int _finalstep; 00084 }; 00085 00086 inline 00087 void DCFsbostreamBase::version( const int version ) { _version = version; }; 00088 00089 inline 00090 int DCFsbostreamBase::version() { return _version; }; 00091 00092 inline 00093 void DCFsbostreamBase::revision( const int revision) { _revision = revision; }; 00094 00095 inline 00096 int DCFsbostreamBase::revision() { return _revision; }; 00097 00098 inline 00099 void DCFsbostreamBase::author( const int author ) { _author = author; }; 00100 00101 inline 00102 int DCFsbostreamBase::author() { return _author; }; 00103 00104 void DCFsbostreamBase::descript( const string& descript ) 00105 { 00106 _lendescript = descript.size(); 00107 _descript = descript; 00108 }; 00109 00110 inline 00111 string& DCFsbostreamBase::descript() { return _descript; }; 00112 00113 inline 00114 void DCFsbostreamBase::blocknum( const int blocknum) { _blocknum = blocknum; }; 00115 00116 inline 00117 int DCFsbostreamBase::blocknum() { return _blocknum; }; 00118 00119 inline 00120 void DCFsbostreamBase::mthis0( const int mthis0 ) { _mthis0 = mthis0; }; 00121 00122 inline 00123 int DCFsbostreamBase::mthis0() { return _mthis0; }; 00124 00125 inline 00126 void DCFsbostreamBase::mthis1( const int mthis1 ) { _mthis1 = mthis1; }; 00127 00128 inline 00129 int DCFsbostreamBase::mthis1() { return _mthis1; }; 00130 00131 inline 00132 void DCFsbostreamBase::mmax( const int mmax ) 00133 { 00134 _mmax=mmax; 00135 mthis0(0); 00136 mthis1(mmax); 00137 }; 00138 00139 inline 00140 int DCFsbostreamBase::mmax() { return _mmax; }; 00141 00142 inline 00143 void DCFsbostreamBase::bplen_sizeb(const int bplen_sizeb) 00144 { 00145 _bplen_sizeb = bplen_sizeb; 00146 }; 00147 00148 inline 00149 int DCFsbostreamBase::bplen_sizeb() { return _bplen_sizeb; }; 00150 00151 inline 00152 void DCFsbostreamBase::bplen_n(const int bplen_n) { _bplen_n = bplen_n; }; 00153 00154 inline 00155 int DCFsbostreamBase::bplen_n() { return _bplen_n; }; 00156 00157 inline 00158 void DCFsbostreamBase::enctype( const int enctype ) { _enctype = enctype; }; 00159 00160 inline 00161 int DCFsbostreamBase::enctype() { return _enctype; }; 00162 00163 inline 00164 void DCFsbostreamBase::encsizeb( const int encsizeb) { _encsizeb = encsizeb; }; 00165 00166 inline 00167 int DCFsbostreamBase::encsizeb() { return _encsizeb; }; 00168 00169 inline 00170 void DCFsbostreamBase::finalstep( const int finalstep ) 00171 { 00172 _finalstep = finalstep; 00173 }; 00174 00175 inline 00176 int DCFsbostreamBase::finalstep() { return _finalstep; }; 00177 00178 inline 00179 bool DCFsbostreamBase::isopen() { return (*_os).good(); } 00180 00181 #endif 00182
1.3.6