summaryrefslogtreecommitdiff
path: root/TAO/examples/Quoter/Quoter.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Quoter/Quoter.idl')
-rw-r--r--TAO/examples/Quoter/Quoter.idl131
1 files changed, 131 insertions, 0 deletions
diff --git a/TAO/examples/Quoter/Quoter.idl b/TAO/examples/Quoter/Quoter.idl
new file mode 100644
index 00000000000..a434287cbca
--- /dev/null
+++ b/TAO/examples/Quoter/Quoter.idl
@@ -0,0 +1,131 @@
+// $Id$
+
+// ============================================================================
+//
+// = FILENAME
+// quoter.idl
+//
+// = DESCRIPTION
+// Quoter example that illustrate the use of the global POA and
+// the CosLifeCycle service.
+//
+// = AUTHOR
+// Darrell Brunsch (brunsch@cs.wustl.edu)
+// Michael Kircher (mk1@cs.wustl.edu)
+//
+// ============================================================================
+
+#include "orbsvcs/CosLifeCycle.idl"
+
+module Stock
+{
+ exception Invalid_Stock {};
+ exception Invalid_Quoter {};
+
+ interface Quoter : CosLifeCycle::LifeCycleObject
+ {
+ // = TITLE
+ // Access Stock information.
+
+ // Returns the current stock value or throws an exception.
+ long get_quote (in string stock_name)
+ raises (Invalid_Stock, Invalid_Quoter);
+
+ // LifeCycleObject copy(in FactoryFinder there,
+ // in Criteria the_criteria)
+ // raises(NoFactory, NotCopyable, InvalidCriteria, CannotMeetCriteria);
+ // copies this object to a location "there" using the "the_criteria"
+
+ // void move(in FactoryFinder there,
+ // in Criteria the_criteria)
+ // raises(NoFactory, NotMovable, InvalidCriteria, CannotMeetCriteria);
+ // moves this object to a location "there" using the "the_criteria"
+
+ // void remove()
+ // raises(NotRemovable);
+ // removes/deletes this object
+
+ };
+
+ interface Quoter_Factory
+ {
+ // = TITLE
+ // Creation of Quoter objects
+
+ Quoter create_quoter (in string name)
+ raises (Invalid_Quoter);
+ // Returns a new Quoter selected by name e.g., "Dow Jones,"
+ // "Reuters,", etc
+ };
+
+ interface Quoter_Factory_Finder : CosLifeCycle::FactoryFinder
+ {
+ // = TITLE
+ // Wrapper for the CosLifeCycle FactoryFinder
+ //
+ // inherits:
+ // Factories find_factories(in Key factory_key) raises(NoFactory);
+ };
+
+ interface Quoter_Generic_Factory : 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);
+ };
+
+ interface Quoter_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
+ //
+ typedef sequence <CosLifeCycle::NameValuePair> 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
+ };
+};
+