summaryrefslogtreecommitdiff
path: root/ACE/TAO/tests/POA/DSI/Database.idl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/tests/POA/DSI/Database.idl')
-rw-r--r--ACE/TAO/tests/POA/DSI/Database.idl75
1 files changed, 75 insertions, 0 deletions
diff --git a/ACE/TAO/tests/POA/DSI/Database.idl b/ACE/TAO/tests/POA/DSI/Database.idl
new file mode 100644
index 00000000000..b2b0b21cb2b
--- /dev/null
+++ b/ACE/TAO/tests/POA/DSI/Database.idl
@@ -0,0 +1,75 @@
+// $Id$
+
+module Database
+{
+ typedef unsigned long Flags;
+
+ typedef string Identifier;
+
+ exception Unknown_Type
+ {
+ string type;
+ };
+
+ exception Unknown_Key
+ {
+ string key;
+ };
+
+ exception Duplicate_Key
+ {
+ string key;
+ };
+
+ exception Not_Found
+ {
+ string key;
+ };
+
+ interface Entry
+ {
+ readonly attribute string name;
+ };
+
+ interface Employee : Entry
+ {
+ attribute long id;
+ };
+
+ /*
+ interface Machine : Entry
+ {
+ attribute string make;
+ };
+ */
+
+ struct NamedValue
+ {
+ Identifier name;
+ any value;
+ Flags options;
+ };
+
+ typedef sequence<NamedValue> NVPairSequence;
+
+ interface Agent
+ {
+ Entry create_entry (in string key,
+ in Identifier entry_type,
+ in NVPairSequence initial_attributes)
+ raises (Unknown_Type,
+ Duplicate_Key);
+
+ Entry find_entry (in string key,
+ in Identifier entry_type)
+ raises (Unknown_Type,
+ Not_Found);
+
+ void destroy_entry (in string key,
+ in Identifier entry_type)
+ raises (Unknown_Type,
+ Unknown_Key);
+
+ oneway void shutdown ();
+ };
+};