Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Universal_AMOS.hh

Go to the documentation of this file.
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 #ifndef __Universal_AMOS_HH 00011 #define __Universal_AMOS_HH 1 00012 00013 #include "Message_AMOS.hh" 00014 #include "datatypes_AMOS.hh" 00015 #include "databanks_AMOS.hh" 00016 #include <string> 00017 #include <sstream> 00018 #include <utility> 00019 00020 00021 00022 00023 namespace AMOS { 00024 00025 //================================================ Universal_t ================= 00033 //============================================================================== 00034 class Universal_t : public IBankable_t, public IMessagable_t 00035 { 00036 00037 private: 00038 00039 Status_t status_m; 00040 std::string comment_m; 00041 00042 00043 protected: 00044 00045 //--------------------------------------------------- readRecord ------------- 00046 virtual void readRecord (std::istream & fix, std::istream & var) 00047 { 00048 fix . get (status_m); 00049 std::getline (var, comment_m, '\0'); 00050 } 00051 00052 00053 //--------------------------------------------------- writeRecord ------------ 00054 virtual void writeRecord (std::ostream & fix, std::ostream & var) const 00055 { 00056 fix . put (status_m); 00057 var . write (comment_m . c_str( ), comment_m . size( ) + 1); 00058 } 00059 00060 00061 public: 00062 00063 static const NCode_t NCODE; 00065 00066 00067 //--------------------------------------------------- Universal_t ------------ 00072 Universal_t ( ) 00073 { 00074 status_m = NULL_STATUS; 00075 } 00076 00077 00078 //--------------------------------------------------- Universal_t ------------ 00081 Universal_t (const Universal_t & source) 00082 { 00083 *this = source; 00084 } 00085 00086 00087 //--------------------------------------------------- ~Universal_t ----------- 00090 virtual ~Universal_t ( ) 00091 { 00092 00093 } 00094 00095 00096 //--------------------------------------------------- clear ------------------ 00097 virtual void clear ( ) 00098 { 00099 IBankable_t::clear( ); 00100 status_m = NULL_STATUS; 00101 comment_m . erase( ); 00102 } 00103 00104 00105 //--------------------------------------------------- getComment ------------- 00110 const std::string & getComment ( ) const 00111 { 00112 return comment_m; 00113 } 00114 00115 00116 //--------------------------------------------------- getStatus -------------- 00121 const Status_t getStatus ( ) const 00122 { 00123 return status_m; 00124 } 00125 00126 00127 //--------------------------------------------------- getNCode --------------- 00128 virtual NCode_t getNCode ( ) const 00129 { 00130 return Universal_t::NCODE; 00131 } 00132 00133 00134 //--------------------------------------------------- readMessage ------------ 00135 virtual void readMessage (const Message_t & msg); 00136 00137 00138 //--------------------------------------------------- setComment ------------- 00144 void setComment (const std::string & comment) 00145 { 00146 comment_m = comment; 00147 } 00148 00149 00150 //--------------------------------------------------- setStatus -------------- 00156 void setStatus (Status_t status) 00157 { 00158 status_m = status; 00159 } 00160 00161 00162 //--------------------------------------------------- writeMessage ----------- 00163 virtual void writeMessage (Message_t & msg) const; 00164 00165 }; 00166 00167 } // namespace AMOS 00168 00169 #endif // #ifndef __Universal_AMOS_HH

Generated on Tue May 17 15:19:02 2005 for libAMOS by doxygen 1.3.8