RTIA.hh

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 // CERTI - HLA RunTime Infrastructure
00003 // Copyright (C) 2002, 2003  ONERA
00004 //
00005 // This file is part of CERTI
00006 //
00007 // CERTI is free software ; you can redistribute it and/or modify
00008 // it under the terms of the GNU General Public License as published by
00009 // the Free Software Foundation ; either version 2 of the License, or
00010 // (at your option) any later version.
00011 //
00012 // CERTI is distributed in the hope that it will be useful,
00013 // but WITHOUT ANY WARRANTY ; without even the implied warranty of
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00015 // GNU General Public License for more details.
00016 //
00017 // You should have received a copy of the GNU General Public License
00018 // along with this program ; if not, write to the Free Software
00019 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00020 //
00021 // $Id: RTIA.hh,v 3.15 2008/10/10 14:04:48 gotthardp Exp $
00022 // ----------------------------------------------------------------------------
00023 
00024 #ifndef _CERTI_RTIA_HH
00025 #define _CERTI_RTIA_HH
00026 
00027 // Project
00028 #include "Communications.hh"
00029 #include "TimeManagement.hh"
00030 #include "FederationManagement.hh"
00031 #include "ObjectManagement.hh"
00032 #include "OwnershipManagement.hh"
00033 #include "DeclarationManagement.hh"
00034 #include "DataDistribution.hh"
00035 #include "Statistics.hh"
00036 
00037 namespace certi {
00038 namespace rtia {
00039 
00040 class RTIA
00041 {
00042 public:
00043     RTIA(int RTIA_port);
00044     ~RTIA();
00045 
00046     void execute();
00047     void displayStatistics();
00048 
00049 private:
00050     RootObject *rootObject ;
00051 
00052     FederationManagement *fm ;
00053     TimeManagement *tm ;
00054     Communications *comm ;
00055     Queues *queues ;
00056     ObjectManagement *om ;
00057     OwnershipManagement *owm ;
00058     DeclarationManagement *dm ;
00059     DataDistribution *ddm ;
00060     Statistics stat ;
00061 
00062     void saveAndRestoreStatus(Message::Type type)
00063         throw (SaveInProgress, RestoreInProgress);
00064 
00065     void processNetworkMessage(NetworkMessage *);
00066     void processFederateRequest(Message *);
00067     void chooseFederateProcessing(Message *, Message &, TypeException &);
00068     void processOngoingTick();
00069 };
00070 
00071 }} // namespace certi
00072 
00073 #endif // _CERTI_RTIA_HH
00074 
00075 // $Id: RTIA.hh,v 3.15 2008/10/10 14:04:48 gotthardp Exp $

Generated on Thu Apr 30 15:53:49 2009 for CERTIDeveloperDocumentation by doxygen 1.5.5