// // $Id$ // // ================================================================ // // = LIBRARY // TAO // // = FILENAME // TAO.pidl // // = DESCRIPTION // This file contains TAO-specific idl interfaces (not part of CORBA // 2.3). // // The steps to regenerate the code are as follows: // // 1. Run the tao_idl compiler on the pidl file. The command used for // this is: // // tao_idl // -o orig -Gp -Gd -Ge 1 -Gv -DCORBA3 // -Wb,export_macro=TAO_Export // -Wb,pre_include="ace/pre.h" // -Wb,post_include="ace/post.h" // -Wb,export_include="tao/corbafwd.h" TAO.pidl // // 2. Then patch the generated code. The patch fixes the interface // repository IDs, disables the code under certain configurations, // and eliminates cycles in the include dependencies. // // Apply patches using the following commands: // // patch < diffs/TAOC.h.diff // patch < diffs/TAOC.i.diff // patch < diffs/TAOC.cpp.diff // // Note: The diffs were generated with these commands: // // diff -wBbu orig/TAOC.h TAOC.h > diffs/TAOC.h.diff // diff -wBbu orig/TAOC.i TAOC.i > diffs/TAOC.i.diff // diff -wBbu orig/TAOC.cpp TAOC.cpp > diffs/TAOC.cpp.diff // // ================================================================ #ifndef TAO_TAO_IDL #define TAO_TAO_IDL #include "Policy.pidl" #include "TimeBase.pidl" #pragma prefix "" module TAO { // // Buffering constraint. // typedef unsigned short BufferingConstraintMode; const BufferingConstraintMode BUFFER_FLUSH = 0x00; // Note that timeout, message_count, and message_bytes can be or'd. const BufferingConstraintMode BUFFER_TIMEOUT = 0x01; const BufferingConstraintMode BUFFER_MESSAGE_COUNT = 0x02; const BufferingConstraintMode BUFFER_MESSAGE_BYTES = 0x04; struct BufferingConstraint { BufferingConstraintMode mode; TimeBase::TimeT timeout; unsigned long message_count; unsigned long message_bytes; }; const CORBA::PolicyType BUFFERING_CONSTRAINT_POLICY_TYPE = 0x54410001; local interface BufferingConstraintPolicy : CORBA::Policy { readonly attribute BufferingConstraint buffering_constraint; }; // @@ I (coryan) found the following comment on the generated code: // // It seems easier to have copies of these here than to use // #if (TAO_HAS_CORBA_MESSAGING == 1) everywhere or to define // a new class TAO_GIOP_Reliable_Oneway_Invocation // // I don't agree, but this is not the time to fix this stuff, // instead I added the code to the .pidl file so at least it is // automatically generated. // typedef short SyncScope; const SyncScope SYNC_NONE = 0; const SyncScope SYNC_WITH_TRANSPORT = 1; const SyncScope SYNC_WITH_SERVER = 2; const SyncScope SYNC_WITH_TARGET = 3; // = TAO specific. const SyncScope SYNC_EAGER_BUFFERING = SYNC_NONE; const SyncScope SYNC_DELAYED_BUFFERING = -2; }; #pragma prefix "" #endif /* TAO_TAO_IDL */