Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / orbsvcs / LifeCycle_Service / Factory_Trader.h
blobfde08125b5bad58bb32c345da911978564f3d491
1 //=============================================================================
2 /**
3 * @file Factory_Trader.h
5 * Factory Trader for the Generic Factory.
7 * @author Michael Kircher (mk1@cs.wustl.edu)
8 */
9 //=============================================================================
11 #ifndef FACTORY_TRADER_H
12 #define FACTORY_TRADER_H
14 #include "orbsvcs/Trader/Trader.h"
15 #include "orbsvcs/Trader/Service_Type_Repository.h"
16 #include "orbsvcs/CosLifeCycleC.h"
18 class Factory_Trader
20 public:
21 Factory_Trader (int debug_level = 1);
22 ~Factory_Trader ();
24 /// Add a the Factory type to the repository
25 void add_type ();
27 /// export a specific factory
28 void _cxx_export (const char * name,
29 const char * location,
30 const char * description,
31 const CORBA::Object_ptr object_ptr);
33 /// query for a specific factory using a constraint
34 CORBA::Object_ptr query (const char* constraint);
36 static const char * GENERIC_FACTORY_INTERFACE_REPOSITORY_ID;
37 private:
38 TAO_Service_Type_Repository repository_;
39 TAO_Trader_Factory::TAO_TRADER *trader_ptr_;
40 TAO_Trading_Components_i *trading_Components_ptr_;
41 TAO_Support_Attributes_i *support_Attributes_ptr_;
43 /// debug level (0 = quiet, 1 = default, informative, 2+ = noisy);
44 int debug_level_;
47 #endif // FACTORY_TRADER_H