--- orig/DynamicAny.pidl Fri Aug 25 09:46:46 2000 +++ DynamicAny.pidl Fri Aug 25 15:19:49 2000 @@ -1,5 +1,57 @@ -// File: DynamicAny.idl -// CORBA 2.3, Chapter 9 +// +// $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_ @@ -8,7 +60,7 @@ module DynamicAny { - interface DynAny { + local interface DynAny { exception InvalidValue {}; exception TypeMismatch {}; @@ -46,7 +98,7 @@ 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 ValueBase 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); @@ -67,7 +119,7 @@ wstring get_wstring() raises(TypeMismatch, InvalidValue); any get_any() raises(TypeMismatch, InvalidValue); DynAny get_dyn_any() raises(TypeMismatch, InvalidValue); - ValueBase get_val() raises(TypeMismatch, InvalidValue); + CORBA::ValueBase get_val() raises(TypeMismatch, InvalidValue); boolean seek(in long index); void rewind(); @@ -76,12 +128,12 @@ DynAny current_component() raises(TypeMismatch); }; - interface DynFixed : DynAny { + local interface DynFixed : DynAny { string get_value(); boolean set_value(in string val) raises(TypeMismatch, InvalidValue); }; - interface DynEnum : DynAny { + local interface DynEnum : DynAny { string get_as_string(); void set_as_string(in string value) raises(InvalidValue); @@ -102,7 +154,7 @@ }; typedef sequence NameDynAnyPairSeq; - interface DynStruct : DynAny { + local interface DynStruct : DynAny { FieldName current_member_name() raises(TypeMismatch, InvalidValue); CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue); NameValuePairSeq get_members(); @@ -113,7 +165,7 @@ raises(TypeMismatch, InvalidValue); }; - interface DynUnion : DynAny { + local interface DynUnion : DynAny { DynAny get_discriminator(); void set_discriminator(in DynAny d) raises(TypeMismatch); @@ -128,7 +180,7 @@ typedef sequence AnySeq; typedef sequence DynAnySeq; - interface DynSequence : DynAny { + local interface DynSequence : DynAny { unsigned long get_length(); void set_length(in unsigned long len) raises(InvalidValue); @@ -140,7 +192,7 @@ raises(TypeMismatch, InvalidValue); }; - interface DynArray : DynAny { + local interface DynArray : DynAny { AnySeq get_elements(); void set_elements(in AnySeq value) raises(TypeMismatch, InvalidValue); @@ -149,7 +201,7 @@ raises(TypeMismatch, InvalidValue); }; - interface DynValue : DynAny { + local interface DynValue : DynAny { FieldName current_member_name() raises(TypeMismatch, InvalidValue); CORBA::TCKind current_member_kind() raises(TypeMismatch, InvalidValue); NameValuePairSeq get_members(); @@ -160,7 +212,7 @@ raises(TypeMismatch, InvalidValue); }; - interface DynAnyFactory { + local interface DynAnyFactory { exception InconsistentTypeCode {}; DynAny create_dyn_any(in any value) raises(InconsistentTypeCode);