summaryrefslogtreecommitdiff
path: root/TAO/examples/Quoter/Generic_Factory_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Quoter/Generic_Factory_i.h')
-rw-r--r--TAO/examples/Quoter/Generic_Factory_i.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/TAO/examples/Quoter/Generic_Factory_i.h b/TAO/examples/Quoter/Generic_Factory_i.h
new file mode 100644
index 00000000000..b03ee673647
--- /dev/null
+++ b/TAO/examples/Quoter/Generic_Factory_i.h
@@ -0,0 +1,58 @@
+// $Id$
+
+// ============================================================================
+//
+// = FILENAME
+// Generic_Factory_i.h
+//
+// = DESCRIPTION
+// A LifeCycle Service Generic Factory for the Quoter example.
+//
+// = AUTHOR
+// Michael Kircher (mk1@cs.wustl.edu)
+//
+// ============================================================================
+
+#include "QuoterS.h"
+
+
+#ifndef QUOTER_GENERIC_FACTORY_IMPL_H
+#define QUOTER_GENERIC_FACTORY_IMPL_H
+
+class Quoter_Generic_Factory_i : public POA_Stock::Quoter_Generic_Factory
+{
+ // = TILE
+ // A CosLifeCycle conforming Generic Factory for the Quoter
+ // example. It uses the Naming Service to find a fitting factory.
+
+public:
+ Quoter_Generic_Factory_i (int debug_level = 1);
+ ~Quoter_Generic_Factory_i (void);
+
+ CORBA::Boolean supports (const CosLifeCycle::Key &factory_key
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Returns true if the Generic Factory is able to forward a request
+ // for creating an object described by the <factory_key>.
+
+ CORBA::Object_ptr create_object (const CosLifeCycle::Key &factory_key,
+ const CosLifeCycle::Criteria &the_criteria
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ CosLifeCycle::NoFactory,
+ CosLifeCycle::InvalidCriteria,
+ CosLifeCycle::CannotMeetCriteria));
+ // Returns an object reference to a newly created object, though the
+ // Generic Factory itself cannot create objects, it will forward the
+ // request to a more concrete Factory.
+
+private:
+ CosNaming::NamingContext_ptr get_naming_context (const CosLifeCycle::Key &factory_key
+ ACE_ENV_ARG_DECL_NOT_USED);
+ // a helper to get the proper naming context.
+
+ int debug_level_;
+ // debug level (0 = quiet, 1 = default, informative, 2+ = noisy);
+};
+
+#endif /* QUOTER_GENERIC_FACTORY_IMPL_H */