summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/LifeCycleService.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/LifeCycleService.idl')
-rw-r--r--TAO/orbsvcs/orbsvcs/LifeCycleService.idl83
1 files changed, 83 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LifeCycleService.idl b/TAO/orbsvcs/orbsvcs/LifeCycleService.idl
new file mode 100644
index 00000000000..8322d49137e
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/LifeCycleService.idl
@@ -0,0 +1,83 @@
+// $Id$
+
+// ============================================================================
+//
+// = FILENAME
+// LifeCycleService.idl
+//
+// = DESCRIPTION
+// A generic creation service named lifecycle service using
+// the GenericFactory interface of the LifeCycle Service specification.
+//
+// = AUTHOR
+// Michael Kircher (mk1@cs.wustl.edu)
+//
+// ============================================================================
+
+#ifndef TAO_LIFECYCLESERVICE_IDL
+#define TAO_LIFECYCLESERVICE_IDL
+
+#include "CosLifeCycle.idl"
+
+module LifeCycleService
+{
+ interface Life_Cycle_Service : CosLifeCycle::GenericFactory
+ {
+ // = TITLE
+ // Wrapper for the CosLifeCycle GenericFactory
+ //
+ // = inherits:
+ // boolean supports(in Key k);
+ // Object create_object(in Key k, in Criteria the_criteria)
+ // raises (NoFactory, InvalidCriteria, CannotMeetCriteria);
+
+ void register_factory (in string name,
+ in string location,
+ in string description,
+ in Object _object);
+ // provide an method for registering factories with their properties
+ };
+
+ interface Criteria_Evaluator
+ {
+ // = TITLE
+ // Criteria Evaluator
+ //
+ // = DESCRIPTION
+ // Interface description for an evaluator of CosLifeCycle
+ // Criterias. It is mainly a wrapper, which should make
+ // access easier.
+ //
+ // @@ NOTE: The definition should be this. But see note below!
+ // typedef sequence <CosLifeCycle::NameValuePair> SeqNamedValuePair;
+
+ // @@ NOTE: This is just a workaround for a problem seen with
+ // explicit template builds. This file and CosLifeCycle.idl
+ // define a sequence of the same data structure which creates
+ // multiply defined symbols in the above configuration. We need
+ // to fix the IDL compile at some point of time. Till then this
+ // should be okay...
+ typedef CosLifeCycle::Criteria SeqNamedValuePair;
+ typedef CosLifeCycle::Criteria Criteria;
+
+ exception NotAvailable { string reason; };
+ // raised if the questioned configuration is not available
+
+ SeqNamedValuePair getInitialization ();
+ // get the initialization
+
+ string getFilter ();
+ // get a filter string
+
+ SeqNamedValuePair getLogicalLocation ();
+ // get the logical location
+
+ string getPreferences ();
+ // get the preferences, not implemented
+
+ void setCriteria (in Criteria criteria_);
+ // set the Criteria which is searched for keywords
+ };
+};
+
+#endif /* TAO_LIFECYCLESERVICE_IDL */