summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-03-25 20:47:52 +0000
committertworm <tworm@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-03-25 20:47:52 +0000
commit22d98472d29f815f169e54ebffc60629a713a017 (patch)
tree69f97a4491a45a395020090e3406d61b2b4e31e8
parentf6b1e8db65411b16338962e5014740779faa13ff (diff)
downloadATCD-22d98472d29f815f169e54ebffc60629a713a017.tar.gz
First check in. Might not be OK. Causes tao_idl to core dump
-rw-r--r--TAO/orbsvcs/orbsvcs/CosLifeCycle.idl114
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;