PaCO++
0.05
|
00001 #ifndef PACO_FABRIQUE_MANAGER_IS_DEFINED 00002 #define PACO_FABRIQUE_MANAGER_IS_DEFINED 00003 00004 #include "thread/paco_thread.h" 00005 #include "com/paco_com.h" 00006 #include "DistributionLibrairie.h" 00007 #include "CommunicationScheduling.h" 00008 00009 #include <string> 00010 #include <map> 00011 #include <vector> 00012 00013 // Concrete fabrique class 00014 class paco_fabrique_manager 00015 { 00016 private: 00017 paco_fabrique_manager_thread* pfthread; 00018 paco_fabrique_manager_com* pfcom; 00019 paco_fabrique_manager_distribution* pfdistribution; 00020 paco_fabrique_manager_comScheduling* pfcomScheduling; 00021 00022 public: 00023 paco_fabrique_manager(); 00024 ~paco_fabrique_manager(); 00025 00026 // Thread 00027 void register_thread(const ::std::string& fabname, paco_fabrique_thread* pf); 00028 paco_fabrique_thread* get_thread(const ::std::string& fabname); 00029 00030 // Com 00031 void register_com(const ::std::string& fabname, paco_fabrique_com* pf); 00032 paco_fabrique_com* get_com(const ::std::string& fabname); 00033 00034 // Distribution 00035 void register_distribution(const ::std::string& fabname, paco_fabrique_distribution* pf); 00036 paco_fabrique_distribution* get_distribution(const ::std::string& fabname); 00037 00038 // Com 00039 void register_comScheduling(const ::std::string& fabname, paco_fabrique_comScheduling* pf); 00040 paco_fabrique_comScheduling* get_comScheduling(const ::std::string& fabname); 00041 00042 }; 00043 00044 #endif