diff options
author | tworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-03-25 20:47:52 +0000 |
---|---|---|
committer | tworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-03-25 20:47:52 +0000 |
commit | 22d98472d29f815f169e54ebffc60629a713a017 (patch) | |
tree | 69f97a4491a45a395020090e3406d61b2b4e31e8 | |
parent | f6b1e8db65411b16338962e5014740779faa13ff (diff) | |
download | ATCD-22d98472d29f815f169e54ebffc60629a713a017.tar.gz |
First check in. Might not be OK. Causes tao_idl to core dump
-rw-r--r-- | TAO/orbsvcs/orbsvcs/CosLifeCycle.idl | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/CosLifeCycle.idl b/TAO/orbsvcs/orbsvcs/CosLifeCycle.idl new file mode 100644 index 00000000000..e687b08fcd5 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/CosLifeCycle.idl @@ -0,0 +1,114 @@ +/* -*- C++ -*- */ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// cos +// +// = FILENAME +// CosLifeCycle.idl +// +// = DESCRIPTION +// Described in CORBAservices: Common Object Services Specification, +// chapter 6. +// The life cycle service description can be downloaded from: +// ftp://www.omg.org/pub/docs/formal/97-12-13.pdf +// The original IDL file can be downloaede from: +// ftp://www.omg.org/pub/docs/formal/97-11-02.idl +// +// = AUTHOR +// OMG and Torben Worm <tworm@cs.wustl.edu> +// +// ============================================================================ + + +// OMG IDL for CosLifeCycle Module, page 6-10 in +// Includes the following interfaces: +// FactoryFinder, LifeCycleObject, GenericFactory + +#include "CosNaming.idl" + +module CosLifeCycle{ + // = TITLE + // CosLifeCycle + // + // = DESCRIPTION + // This idl file describes the life cycle service. + // The purpose of the life cycle service is to + // + + typedef CosNaming::Name Key; + typedef Object Factory; + typedef sequence <Factory> Factories; + typedef struct NVP { + CosNaming::Istring name; + any value; + } NameValuePair; + typedef sequence <NameValuePair> Criteria; + + exception NoFactory { + Key search_key; + }; + exception NotCopyable { string reason; }; + exception NotMovable { string reason; }; + exception NotRemovable { string reason; }; + exception InvalidCriteria{ + Criteria invalid_criteria; + }; + exception CannotMeetCriteria { + Criteria unmet_criteria; + }; + + interface FactoryFinder { + // = TITLE + // + // = DESCRIPTION + // + // + + Factories find_factories(in Key factory_key) + raises(NoFactory); + }; + + interface LifeCycleObject { + // = TITLE + // + // = DESCRIPTION + // + // + + LifeCycleObject copy(in FactoryFinder there, + in Criteria the_criteria) + raises(NoFactory, NotCopyable, InvalidCriteria, CannotMeetCriteria); + void move(in FactoryFinder there, + in Criteria the_criteria) + raises(NoFactory, NotMovable, InvalidCriteria, CannotMeetCriteria); + void remove() + raises(NotRemovable); + }; + + interface GenericFactory { + // = TITLE + // + // = DESCRIPTION + // + // + + boolean supports(in Key k); + Object create_object(in Key k, + in Criteria the_criteria) + raises (NoFactory, InvalidCriteria, CannotMeetCriteria); + }; +}; + + + +// Criteria, page 6-17: + +typedef struct NVP { + CosNaming::Istring name; + any value; +} NameValuePair; + +typedef sequence <NameValuePair> Criteria; |