summaryrefslogtreecommitdiff
path: root/TAO/tao/DynamicAny/DynamicAny.pidl
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-08-28 00:15:38 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-08-28 00:15:38 +0000
commit2d28992155e89c83f15b9f4d2ae132bd6d0e6c19 (patch)
tree46f556b7d3c01ff38a6e0483bbe3ef40cb7934c6 /TAO/tao/DynamicAny/DynamicAny.pidl
parent7eed2413415ac30e03b86216ff24316d7f987bbf (diff)
downloadATCD-2d28992155e89c83f15b9f4d2ae132bd6d0e6c19.tar.gz
ChangeLogTag:Sun Aug 27 16:02:47 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'TAO/tao/DynamicAny/DynamicAny.pidl')
-rw-r--r--TAO/tao/DynamicAny/DynamicAny.pidl224
1 files changed, 224 insertions, 0 deletions
diff --git a/TAO/tao/DynamicAny/DynamicAny.pidl b/TAO/tao/DynamicAny/DynamicAny.pidl
new file mode 100644
index 00000000000..0ee395831ba
--- /dev/null
+++ b/TAO/tao/DynamicAny/DynamicAny.pidl
@@ -0,0 +1,224 @@
+//
+// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// DynamicAny.pidl
+//
+// = DESCRIPTION
+// This file was used to generate the code in DynamicAnyC.{h,i,cpp}
+// The file was obtained from the OMG website as part of the full
+// CORBA IDL formal/00-04-01:
+// http://www.omg.org/technology/documents/formal/corba_omg_idl_text_file.htm
+// I couldn't find a copyright notice in the document, but I will
+// assume that it is Copyright (C) 2000, OMG.
+// We performed some modifications to the file, mainly to use local
+// interfaces (part of what is coming in CORBA 2.4 and CORBA 3.0).
+//
+// The command used to generate code from this file is:
+//
+// tao_idl.exe -o orig -Gp -Gd -Ge 1 -Gv \
+// -Wb,export_macro=TAO_DynamicAny_Export \
+// -Wb,export_include=dynamicany_export.h \
+// -Wb,pre_include="ace/pre.h" \
+// -Wb,post_include="ace/post.h" \
+// DynamicAny.pidl
+//
+// after the file is generated a patch must be applied. The patch
+// fixes some problems with interceptors and local interfaces and
+// disables parts of the code under certain configurations.
+//
+// Apply patches using the following commands:
+//
+// patch < diffs/DynamicAnyC.h.diff
+// patch < diffs/DynamicAnyC.i.diff
+// patch < diffs/DynamicAnyC.cpp.diff
+//
+// Those changes are required because the generated
+// code is part of the TAO library, it hardly makes any sense to
+// change the IDL compiler to support changes that are very
+// occasional.
+//
+// Note: The diffs were generated with these commands:
+//
+// diff -wbu orig/DynamicAny.pidl DynamicAny.pidl > diffs\DynamicAny.pidl.diff
+//
+// diff -wbu orig/DynamicAnyC.h DynamicAnyC.h > diffs/DynamicAnyC.h.diff
+// diff -wbu orig/DynamicAnyC.i DynamicAnyC.i > diffs/DynamicAnyC.i.diff
+// diff -wbu orig/DynamicAnyC.cpp DynamicAnyC.cpp > diffs/DynamicAnyC.cpp.diff
+//
+// ================================================================
+
+#ifndef _DYNAMIC_ANY_IDL_
+#define _DYNAMIC_ANY_IDL_
+#pragma prefix "omg.org"
+#include <orb.idl>
+
+module DynamicAny {
+
+ local interface DynAny {
+ exception InvalidValue {};
+ exception TypeMismatch {};
+
+ CORBA::TypeCode type();
+
+ void assign( in DynAny dyn_any) raises(TypeMismatch);
+ void from_any( in any value) raises(TypeMismatch, InvalidValue);
+ any to_any();
+
+ boolean equal( in DynAny dyn_any);
+
+ void destroy();
+ DynAny copy();
+ void insert_boolean(in boolean value) raises(TypeMismatch, InvalidValue);
+ void insert_octet( in octet value) raises(TypeMismatch, InvalidValue);
+ void insert_char( in char value) raises(TypeMismatch, InvalidValue);
+ void insert_short( in short value) raises(TypeMismatch, InvalidValue);
+ void insert_ushort( in unsigned short
+ value) raises(TypeMismatch, InvalidValue);
+ void insert_long( in long value) raises(TypeMismatch, InvalidValue);
+ void insert_ulong( in unsigned long
+ value) raises(TypeMismatch, InvalidValue);
+ void insert_float( in float value) raises(TypeMismatch, InvalidValue);
+ void insert_double( in double value) raises(TypeMismatch, InvalidValue);
+ void insert_string( in string value) raises(TypeMismatch, InvalidValue);
+ void insert_reference(in Object value) raises(TypeMismatch, InvalidValue);
+ void insert_typecode(in CORBA::TypeCode
+ value) raises(TypeMismatch, InvalidValue);
+ void insert_longlong(in long long value) raises(TypeMismatch, InvalidValue);
+ void insert_ulonglong(in unsigned long long
+ value) raises(TypeMismatch, InvalidValue);
+ void insert_longdouble(in long double
+ value) raises(TypeMismatch, InvalidValue);
+ void insert_wchar( in wchar value) raises(TypeMismatch, InvalidValue);
+ void insert_wstring(in wstring value) raises(TypeMismatch, InvalidValue);
+ void insert_any( in any value) raises(TypeMismatch, InvalidValue);
+ void insert_dyn_any(in DynAny value) raises(TypeMismatch, InvalidValue);
+ void insert_val( in CORBA::ValueBase value) raises(TypeMismatch, InvalidValue);
+
+ boolean get_boolean() raises(TypeMismatch, InvalidValue);
+ octet get_octet() raises(TypeMismatch, InvalidValue);
+ char get_char() raises(TypeMismatch, InvalidValue);
+ short get_short() raises(TypeMismatch, InvalidValue);
+ unsigned short get_ushort() raises(TypeMismatch, InvalidValue);
+ long get_long() raises(TypeMismatch, InvalidValue);
+ unsigned long get_ulong() raises(TypeMismatch, InvalidValue);
+ float get_float() raises(TypeMismatch, InvalidValue);
+ double get_double() raises(TypeMismatch, InvalidValue);
+ string get_string() raises(TypeMismatch, InvalidValue);
+ Object get_reference() raises(TypeMismatch, InvalidValue);
+ CORBA::TypeCode get_typecode() raises(TypeMismatch, InvalidValue);
+ long long get_longlong() raises(TypeMismatch, InvalidValue);
+ unsigned long long get_ulonglong() raises(TypeMismatch, InvalidValue);
+ long double get_longdouble() raises(TypeMismatch, InvalidValue);
+ wchar get_wchar() raises(TypeMismatch, InvalidValue);
+ wstring get_wstring() raises(TypeMismatch, InvalidValue);
+ any get_any() raises(TypeMismatch, InvalidValue);
+ DynAny get_dyn_any() raises(TypeMismatch, InvalidValue);
+ CORBA::ValueBase get_val() raises(TypeMismatch, InvalidValue);
+
+ boolean seek(in long index);
+ void rewind();
+ boolean next();
+ unsigned long component_count();
+ DynAny current_component() raises(TypeMismatch);
+ };
+
+ local interface DynFixed : DynAny {
+ string get_value();
+ boolean set_value(in string val) raises(TypeMismatch, InvalidValue);
+ };
+
+ local interface DynEnum : DynAny {
+ string get_as_string();
+ void set_as_string(in string value)
+ raises(InvalidValue);
+ unsigned long get_as_ulong();
+ void set_as_ulong( in unsigned long value)
+ raises(InvalidValue);
+ };
+ typedef string FieldName;
+ struct NameValuePair {
+ FieldName id;
+ any value;
+ };
+
+ typedef sequence<NameValuePair> NameValuePairSeq;
+ struct NameDynAnyPair {
+ FieldName id;
+ DynAny value;
+ };
+
+ typedef sequence<NameDynAnyPair> NameDynAnyPairSeq;
+ local interface DynStruct : DynAny {
+ FieldName current_member_name() raises(TypeMismatch, InvalidValue);
+ CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
+ NameValuePairSeq get_members();
+ void set_members(in NameValuePairSeq value)
+ raises(TypeMismatch, InvalidValue);
+ NameDynAnyPairSeq get_members_as_dyn_any();
+ void set_members_as_dyn_any(in NameDynAnyPairSeq value)
+ raises(TypeMismatch, InvalidValue);
+ };
+
+ local interface DynUnion : DynAny {
+ DynAny get_discriminator();
+ void set_discriminator(in DynAny d)
+ raises(TypeMismatch);
+ void set_to_default_member() raises(TypeMismatch);
+ void set_to_no_active_member() raises(TypeMismatch);
+ boolean has_no_active_member();
+ CORBA::TCKind discriminator_kind();
+ DynAny member() raises(InvalidValue);
+ FieldName member_name() raises(InvalidValue);
+ CORBA::TCKind member_kind() raises(InvalidValue);
+ };
+
+ typedef sequence<any> AnySeq;
+ typedef sequence<DynAny> DynAnySeq;
+ local interface DynSequence : DynAny {
+ unsigned long get_length();
+ void set_length(in unsigned long len)
+ raises(InvalidValue);
+ AnySeq get_elements();
+ void set_elements(in AnySeq value)
+ raises(TypeMismatch, InvalidValue);
+ DynAnySeq get_elements_as_dyn_any();
+ void set_elements_as_dyn_any(in DynAnySeq value)
+ raises(TypeMismatch, InvalidValue);
+ };
+
+ local interface DynArray : DynAny {
+ AnySeq get_elements();
+ void set_elements(in AnySeq value)
+ raises(TypeMismatch, InvalidValue);
+ DynAnySeq get_elements_as_dyn_any();
+ void set_elements_as_dyn_any(in DynAnySeq value)
+ raises(TypeMismatch, InvalidValue);
+ };
+
+ local interface DynValue : DynAny {
+ FieldName current_member_name() raises(TypeMismatch, InvalidValue);
+ CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue);
+ NameValuePairSeq get_members();
+ void set_members(in NameValuePairSeq value)
+ raises(TypeMismatch, InvalidValue);
+ NameDynAnyPairSeq get_members_as_dyn_any();
+ void set_members_as_dyn_any(in NameDynAnyPairSeq value)
+ raises(TypeMismatch, InvalidValue);
+ };
+
+ local interface DynAnyFactory {
+ exception InconsistentTypeCode {};
+ DynAny create_dyn_any(in any value)
+ raises(InconsistentTypeCode);
+ DynAny create_dyn_any_from_type_code(in CORBA::TypeCode type)
+ raises(InconsistentTypeCode);
+ };
+
+}; // module DynamicAny
+#endif // _DYNAMIC_ANY_IDL_