00001 // ---------------------------------------------------------------------------- 00002 // CERTI - HLA RunTime Infrastructure 00003 // Copyright (C) 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 // ---------------------------------------------------------------------------- 00022 00023 #ifndef CERTI_STATISTICS 00024 #define CERTI_STATISTICS 00025 00026 // Project 00027 #include "Message.hh" 00028 #include "NetworkMessage.hh" 00029 00030 // Standard libraries 00031 #include <map> 00032 00033 namespace certi { 00034 namespace rtia { 00035 00041 class Statistics 00042 { 00043 public: 00044 Statistics(); 00045 00046 void rtiService(NetworkMessage::Type); 00047 void federateService(Message::Type); 00048 bool display() { return myDisplay ; }; 00049 bool displayZero() { return myDisplayZero ; }; 00050 00051 friend std::ostream &operator<<(std::ostream &, Statistics &); 00052 00053 protected: 00055 std::vector<int> federateServiceSet ; 00057 std::vector<int> rtiServiceSet ; 00059 static std::vector<std::string> fedMessageName ; 00061 static std::vector<std::string> rtiMessageName ; 00063 bool myDisplay ; 00065 bool myDisplayZero ; 00067 static bool initialized ; 00068 }; 00069 00070 }} // namespaces 00071 00072 #endif // CERTI_STATISTICS