Library_AMOS.cc

Go to the documentation of this file.
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 }

Generated on Mon Feb 22 17:36:27 2010 for libAMOS by  doxygen 1.4.7