diff options
Diffstat (limited to 'TAO/examples/Quoter/Quoter.idl')
-rw-r--r-- | TAO/examples/Quoter/Quoter.idl | 131 |
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 + }; +}; + |