00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __Group_AMOS_HH
00011 #define __Group_AMOS_HH 1
00012
00013 #include "Universal_AMOS.hh"
00014 #include <vector>
00015
00016
00017
00018
00019 namespace AMOS {
00020
00021
00026
00027 class Group_t : public Universal_t
00028 {
00029
00030 private:
00031
00032 std::vector<ID_t> mems_m;
00033 NCode_t memtype_m;
00034
00035
00036 protected:
00037
00038
00039 virtual void readRecord (std::istream & fix, std::istream & var);
00040
00041
00042
00043 virtual void readRecordFix (std::istream & fix);
00044
00045
00046
00047 virtual void writeRecord (std::ostream & fix, std::ostream & var) const;
00048
00049
00050 public:
00051
00052 static const NCode_t NCODE;
00054
00055
00056
00061 Group_t ( )
00062 {
00063 memtype_m = NULL_NCODE;
00064 }
00065
00066
00067
00070 Group_t (const Group_t & source)
00071 {
00072 *this = source;
00073 }
00074
00075
00076
00079 ~Group_t ( )
00080 {
00081
00082 }
00083
00084
00085
00086 virtual void clear ( )
00087 {
00088 Universal_t::clear( );
00089 mems_m . clear( );
00090 memtype_m = NULL_NCODE;
00091 }
00092
00093
00094
00095 virtual NCode_t getNCode ( ) const
00096 {
00097 return Group_t::NCODE;
00098 }
00099
00100
00101
00106 const std::vector<ID_t> & getMembers ( ) const
00107 {
00108 return mems_m;
00109 }
00110
00111
00112
00113 std::vector<ID_t> & getMembers ( )
00114 {
00115 return mems_m;
00116 }
00117
00118
00119
00126 NCode_t getMemberType( ) const
00127 {
00128 return memtype_m;
00129 }
00130
00131
00132
00133 virtual void readMessage (const Message_t & msg);
00134
00135
00136
00142 void setMembers (const std::vector<ID_t> & mems)
00143 {
00144 mems_m = mems;
00145 }
00146
00147
00148
00156 void setMemberType (NCode_t memtype)
00157 {
00158 memtype_m = memtype;
00159 }
00160
00161
00162
00163 virtual void writeMessage (Message_t & msg) const;
00164
00165 };
00166
00167 }
00168
00169 #endif // #ifndef __Group_AMOS_HH