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
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
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
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
00072 Universal_t ( )
00073 {
00074 status_m =
NULL_STATUS;
00075 }
00076
00077
00078
00081 Universal_t (
const Universal_t & source)
00082 {
00083 *
this = source;
00084 }
00085
00086
00087
00090 virtual ~Universal_t ( )
00091 {
00092
00093 }
00094
00095
00096
00097 virtual void clear ( )
00098 {
00099 IBankable_t::clear( );
00100 status_m =
NULL_STATUS;
00101 comment_m . erase( );
00102 }
00103
00104
00105
00110 const std::string &
getComment ( )
const
00111
{
00112
return comment_m;
00113 }
00114
00115
00116
00121 const Status_t getStatus ( )
const
00122
{
00123
return status_m;
00124 }
00125
00126
00127
00128 virtual NCode_t getNCode ( )
const
00129
{
00130
return Universal_t::NCODE;
00131 }
00132
00133
00134
00135
virtual void readMessage (
const Message_t & msg);
00136
00137
00138
00144 void setComment (
const std::string & comment)
00145 {
00146 comment_m = comment;
00147 }
00148
00149
00150
00156 void setStatus (
Status_t status)
00157 {
00158 status_m = status;
00159 }
00160
00161
00162
00163
virtual void writeMessage (
Message_t & msg)
const;
00164
00165 };
00166
00167 }
00168
00169
#endif // #ifndef __Universal_AMOS_HH