summaryrefslogtreecommitdiff
path: root/TAO/tao/CSD_Framework/CSD_Framework.pidl
blob: b0e78b3933190b867e6b3230b58fc43d299c1685 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// -*- IDL -*-
/**
 * @file CSD_Framework.pidl
 *
 * $Id$
 *
 * @brief Pre-compiled IDL source for the CSD_Framework module.
 *
 * This file was used to generate the code in
 * CSD_FrameworkC.{h,inl,cpp}, using the following command:
 *
 * $ACE_ROOT/bin/tao_idl \
 *     -o orig -Gp -Gd -Ge 1 -Gt -Sc -GA -I$TAO_ROOT \
 *          -Wb,export_macro=TAO_CSD_FW_Export \
 *          -Wb,export_include="CSD_FW_Export.h" \
 *          -Wb,pre_include="ace/pre.h" \
 *          -Wb,post_include="ace/post.h" \
 *          -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL \
 *          -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL \
 *          CSD_Framework.pidl
 *
 * After the file is generated a patch from the diffs directory must
 * be applied.  The patch:
 *
 *   - Disables parts of the code under certain configurations.
 *
 *   - Eliminates cycles in the include dependencies.
 *
 *   - Adds non-idl components of CSD_Framework to the namespace.
 *     This includes (a) Servant (b) ServantBase (c) RefCountServantBase
 *     (d) Cookie (e) ObjectId_to_string (f) string_to_ObjectId (g)
 *     ObjectId_to_wstring (h) wstring_to_ObjectId (i) ServantBase_var
 *     (j) DynamicImplementation (k) LocalServantBase
 *
 * Apply patches using the following command:
 *
 *   patch < diffs/CSD_Framework.diff
 *
 * Note: The diffs were generated using:
 *
 *   rm diffs/CSD_Framework.diff
 *   for i in CSD_FrameworkC.{h,i,cpp}; do
 *     diff -wub orig/$i $i >> diffs/CSD_Framework.diff
 *   done
 */

#ifndef CSD_FRAMEWORK_PIDL
#define CSD_FRAMEWORK_PIDL

#include "tao/PortableServer/PortableServer.pidl"

module CSD_Framework {
  
  # pragma version CSD_Framework 2.3

  // This is a common base interface for all CSD strategy
  // implementations
  local interface Strategy {

    # pragma version Strategy 2.3

    // This is support for a legacy method of supplying a strategy to a
    // POA.
    boolean apply_to(in PortableServer::POA p);
  };

  // Specialized POA providing a method to supply a strategy object to
  // the POA.
  local interface POA : PortableServer::POA {

    # pragma version POA 2.3

    void set_csd_strategy (in Strategy s);
  };
};

#endif //CSD_FRAMEWORK_PIDL