00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 #include "Library_AMOS.hh" 00011 using namespace AMOS; 00012 using namespace std; 00013 00014 00015 00016 00017 //================================================ Library_t =================== 00018 const NCode_t Library_t::NCODE = M_LIBRARY; 00019 00020 00021 //----------------------------------------------------- readMessage ------------ 00022 void Library_t::readMessage (const Message_t & msg) 00023 { 00024 Universal_t::readMessage (msg); 00025 00026 try { 00027 vector<Message_t>::const_iterator i; 00028 00029 for ( i = msg . getSubMessages( ) . begin( ); 00030 i != msg . getSubMessages( ) . end( ); i ++ ) 00031 { 00032 if ( i -> getMessageCode( ) == M_DISTRIBUTION ) 00033 { 00034 dist_m . readMessage (*i); 00035 } 00036 } 00037 } 00038 catch (ArgumentException_t) { 00039 00040 clear( ); 00041 throw; 00042 } 00043 } 00044 00045 00046 //----------------------------------------------------- readRecord ------------- 00047 void Library_t::readRecord (istream & fix, istream & var) 00048 { 00049 Universal_t::readRecord (fix, var); 00050 00051 dist_m . readRecord (var); 00052 } 00053 00054 //----------------------------------------------------- readRecordFix ---------- 00055 void Library_t::readRecordFix (istream & fix) 00056 { 00057 Universal_t::readRecordFix (fix); 00058 00059 dist_m . clear(); 00060 } 00061 00062 00063 //----------------------------------------------------- writeMessage ----------- 00064 void Library_t::writeMessage (Message_t & msg) const 00065 { 00066 Universal_t::writeMessage (msg); 00067 00068 try { 00069 00070 msg . setMessageCode (Library_t::NCODE); 00071 00072 msg . getSubMessages( ) . resize (1); 00073 dist_m . writeMessage (msg . getSubMessages( ) [0]); 00074 } 00075 catch (ArgumentException_t) { 00076 00077 msg . clear( ); 00078 throw; 00079 } 00080 } 00081 00082 00083 //----------------------------------------------------- writeRecord ------------ 00084 void Library_t::writeRecord (ostream & fix, ostream & var) const 00085 { 00086 Universal_t::writeRecord (fix, var); 00087 00088 dist_m . writeRecord (var); 00089 }
1.4.7