DeclarationManagement.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: DeclarationManagement.hh,v 3.10 2008/11/21 13:41:52 approx Exp $
00022 // ----------------------------------------------------------------------------
00023 
00024 #ifndef _CERTI_RTIA_DM
00025 #define _CERTI_RTIA_DM
00026 
00027 #include "FederationManagement.hh"
00028 #include "Communications.hh"
00029 #include "Files.hh"
00030 #include "certi.hh"
00031 #include "RootObject.hh"
00032 #include "PrettyDebug.hh"
00033 
00034 namespace certi {
00035 namespace rtia {
00036 
00037 // Prototypes de classes existantes
00038 class Communications ;
00039 class Queues ;
00040 class FederationManagement ;
00041 
00042 // Classe de gestion des declarations(publications et subscriptions).
00043 class DeclarationManagement
00044 {
00045 public:
00046     DeclarationManagement(Communications*, FederationManagement*, RootObject*);
00047     ~DeclarationManagement();
00048 
00049     void publishObjectClass(ObjectClassHandle theClassHandle,
00050                             std::vector <AttributeHandle> &attribArray,
00051                             UShort attribArraySize,
00052                             TypeException &e);
00053 
00054     void unpublishObjectClass(ObjectClassHandle theClassHandle,
00055                               TypeException &e);
00056 
00057     void publishInteractionClass(InteractionClassHandle theInteractionHandle,
00058                                  TypeException &e);
00059 
00060     void unpublishInteractionClass(InteractionClassHandle theInteractionHandle,
00061                                    TypeException &e);
00062 
00063     void subscribeObjectClassAttribute(ObjectClassHandle theClassHandle,
00064                                        std::vector <AttributeHandle> &attribArray,
00065                                        UShort attribArraySize,
00066                                        TypeException &e);
00067 
00068     void unsubscribeObjectClassAttribute(ObjectClassHandle theClassHandle,
00069                                          TypeException &e);
00070 
00071     void subscribeInteractionClass(InteractionClassHandle theClassHandle,
00072                                    TypeException &e);
00073 
00074     void unsubscribeInteractionClass(InteractionClassHandle theClassHandle,
00075                                      TypeException &e);
00076 
00087     void setClassRelevanceAdvisorySwitch(bool state,
00088                                          TypeException &e);
00089 
00090     // 5.10
00091     void startRegistrationForObjectClass(ObjectClassHandle theClass,
00092                                          TypeException &e);
00093 
00094     // 5.11
00095     void stopRegistrationForObjectClass(ObjectClassHandle theClass,
00096                                         TypeException &e);
00097 
00108     void setInteractionRelevanceAdvisorySwitch(bool state,
00109                                                TypeException &e);
00110 
00111     // 5.12
00112     void turnInteractionsOn(InteractionClassHandle theHandle,
00113                             TypeException &e);
00114 
00115     // 5.13
00116     void turnInteractionsOff(InteractionClassHandle theHandle,
00117                              TypeException &e);
00118 
00119 protected:
00120     Communications *comm ;
00121     Queues *queues ;
00122     FederationManagement *fm ;
00123     RootObject *rootObject ;
00124 };
00125 
00126 }} // namespace certi/rtia
00127 
00128 #endif // _CERTI_RTIA_DM
00129 
00130 // $Id: DeclarationManagement.hh,v 3.10 2008/11/21 13:41:52 approx Exp $

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