diff options
Diffstat (limited to 'TAO/orbsvcs/LifeCycle_Service/Factory_Trader.h')
-rw-r--r-- | TAO/orbsvcs/LifeCycle_Service/Factory_Trader.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/TAO/orbsvcs/LifeCycle_Service/Factory_Trader.h b/TAO/orbsvcs/LifeCycle_Service/Factory_Trader.h new file mode 100644 index 00000000000..ebf8a024d32 --- /dev/null +++ b/TAO/orbsvcs/LifeCycle_Service/Factory_Trader.h @@ -0,0 +1,54 @@ +// $Id$ +// ============================================================================ +// +// = LIBRARY +// +// = FILENAME +// Factory_Trader.cpp +// +// = DESCRIPTION +// Factory Trader for the Generic Factory. +// +// = AUTHOR +// Michael Kircher (mk1@cs.wustl.edu) +// +// ============================================================================ + +#ifndef FACTORY_TRADER_H +#define FACTORY_TRADER_H + +#include "orbsvcs/Trader/Trader.h" +#include "orbsvcs/Trader/Service_Type_Repository.h" +#include "orbsvcs/CosLifeCycleC.h" + + +class Factory_Trader +{ +public: + Factory_Trader (int debug_level = 1); + ~Factory_Trader (); + + void add_type (); + // Add a the Factory type to the repository + + void _cxx_export (const char * name, + const char * location, + const char * description, + const CORBA::Object_ptr object_ptr); + // export a specific factory + + CORBA::Object_ptr query (const char* constraint); + // query for a specific factory using a constraint + + static const char * GENERIC_FACTORY_INTERFACE_REPOSITORY_ID; +private: + TAO_Service_Type_Repository repository_; + TAO_Trader_Factory::TAO_TRADER *trader_ptr_; + TAO_Trading_Components_i *trading_Components_ptr_; + TAO_Support_Attributes_i *support_Attributes_ptr_; + + int debug_level_; + // debug level (0 = quiet, 1 = default, informative, 2+ = noisy); +}; + +#endif // FACTORY_TRADER_H |