diff options
Diffstat (limited to 'ACE/TAO/tests/POA/DSI/Database.idl')
-rw-r--r-- | ACE/TAO/tests/POA/DSI/Database.idl | 75 |
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 (); + }; +}; |