summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableServer/ORTRework.txt
blob: c7cff26297d3301c52ef316f442aab227c247d78 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
Fri Aug 20 13:18:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * bin/MakeProjectCreator/config/portableserver.mpb:
        * tao/PortableServer.mpc:
          PortableServer is not dependent on ValueType anymore, so removed it
          as base project

Fri Aug 20 12:36:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableInterceptor.pidl:
        * tao/IORInterceptor/IORInfo.pidl:
          Moved AdapterState constants from IORInfo to PortableInterceptor
          file

        * tao/PortableInterceptorC.h:
        * tao/IORInterceptor/IORInfoC.{h,cpp,inl}:
          Updated these files with changes above

        * tao/PortableServer/POA.cpp:
        * tao/PortableServer/POAManager.cpp:
          No need anymore to include IORInfoC.h to get AdapterState constants

Fri Aug 20 12:14:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/POA.{h,cpp}:
          Include PI_ForwardC.h in header file, and PortableInterceptorC.h in
          the cpp file.

Fri Aug 20 12:09:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/POA.cpp:
          Removed some commented out code and removed comment after include of
          IORInfoC.h, no good idea yet how to prevent this

Fri Aug 20 12:05:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/POAManager.cpp:
          Removed not needed include of Interceptor_List

Fri Aug 20 11:47:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * bin/MakeProjectCreator/config/iorinterceptor.mpb:
          When using iorinterceptor use portableserver and objreftemplate

        * bin/MakeProjectCreator/config/objreftemplate.mpb:
          When using objreftemplate, you must use portableserver

        * bin/MakeProjectCreator/config/portableserver.mpb:
          When using portableserver there is no need to use objreftemplate and
          iorinterceptor

Fri Aug 20 11:44:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/IORInterceptor.mpc:
          IORInterceptor is now dependent on PortableServer

        * tao/IORInterceptor_Adapter.h:
          Added several new pure virtual methods that must be implemented by
          the real adapter implementations

        * tao/ORB_Core.{h,cpp}:
          Removed ior_interceptor_list(), make ior_interceptor_adapter()
          public, the POA will just retrieve the ior_interceptor_adapter from
          the ORB core and will use it then from then.

        * tao/PortableServer.mpc:
          PortableServer is not dependent on IORInterceptor anymore.

        * tao/IORInterceptor/IORInterceptor_Adapter_Factory_Impl.cpp:
          Initialise pointer with 0.

        * tao/IORInterceptor/IORInterceptor_Adapter_Impl.{h,cpp}:
          Implemented new pure virtual methods from the base, this code was
          previously in the POA, but couples the POA to the IORInterceptor, by
          moving it here we can decouple it

        * tao/PortableServer/POA.cpp:
        * tao/PortableServer/POAManager.cpp:
          Instead of handling IORInterceptors here, just try to retrieve the
          IORInterceptor adapter from the ORB Core and pass the call to the
          adapter, this removes the dependency of the POA on IORInterceptor

        * tao/PortableServer/IORInfo.{h,cpp,inl}:
        * tao/IORInterceptor/IORInfo.{h,cpp,inl}:
          Moved this class from PortableServer to IORInterceptor, because of
          the changes above the usage of IORInfo is restricted to the
          IORInterceptor library

Fri Aug 20 07:59:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/IORInterceptor/IORInterceptor.pidl:
        * tao/IORInterceptor/IORInfo.pidl:
          Moved IORInfo interface to its own file

        * tao/IORInterceptor/IORInterceptorC.{h,cpp,i}:
          Regenerated

        * tao/IORInterceptor/IORInfoC.{h,cpp,i}:
          New generated files

        * tao/PortableServer/IORInfo.h:
          Include IORInfoC.h instead of IORInterceptorC.h

Thu Aug 19 17:58:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PI_Forward.pidl:
          Moved AdapterManagerId and AdapterState typedefs to this file

        * tao/PI_ForwardC.{h,cpp,i,inl}:
          Regenerated these files, replaced .i with .inl file

        * tao/ObjRefTemplate/ObjectReferenceTemplate.pidl:
          No need to include orb.idl, removed AdapterMangerId and
          AdapterState, these moved to other places

        * tao/ObjRefTemplate/Attic/ObjectReferenceTemplate_Adapter_Impl.cpp:
          Added missing .in()

        * tao/ObjRefTemplate/ObjectReferenceTemplateC.{h,cpp,i,inl}:
          Regenerated these files, replaced .i with .inl file

        * tao/PortableServer/POA.h:
          Fixed include

        * tao/PortableServer/POA_Manager.h:
          No need to include ObjectReferenceTemplaceC.h now the typedefs are
          in PI_Forward

        * tao/IORInterceptor/IORInterceptor.pidl:
          Moved AdapterState constants to this file

        * tao/IORInterceptor/IORInterceptorC.{h,cpp,i,inl}:
          Regenerated these files

        * tao/diffs/ObjectReferenceTemplate.diff:
          No diffs need to be applied anymore, so zapped this file

Wed Aug 18 13:33:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/POA.h:
          Removed some unneeded friends but had to make invoke_key_to_object
          public because we now need it from the ORT library, friend doesn't
          work anymore because it moved to a default servant we don't know
          anything about in this library, any other ideas?

Wed Aug 18 12:28:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/IORInterceptor/IORInterceptor.pidl:
        * tao/IORInterceptor/IORInterceptorC.{h,cpp,i,inl}:
          Regenerated these files, no need to apply patches anymore, and use
          .inl file instead of .i files.

        * tao/PortableServer/ObjectReferenceTemplate_Adapter.h:
          Added typedef for a list of ORT Adapter pointers

        * tao/IORInterceptor/IORInterceptor_List.{h,cpp}:
          Removed typedef of array of ObjectReferenceTemplate*, include the
          ORT Adapter header file instead

        * tao/PorableServer.mpc:
        * tao/ObjRefTemplate.mpc:
          PortableServer library is not dependent on objreftemplate anymore
          but objreftemplate is dependent on portableserver

        * tao/ObjRefTemplate/ObjectReferneceTemplate_Adapter_Impl.{h,cpp,i}:
        * tao/ObjRefTemplate/ObjectReferenceTemplate_i.{h,cpp,i}:
          Split the adapter implementation and the ort_factory and
          ort_template. The adapter creates a TAO_ObjectReferenceTemplate
          which is a ort_template, which then also a ort_factory. The
          ort_factory can be replaced using IORInfo, for the identity methods
          the ort_template is used, until the ort_factory is changed from
          outside the ort_template is used, after that the new set one.

Tue Aug 17 14:30:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

          Checkin of rework until now, not happy with the interfaces yet, now
          the test app seems to work a little, I am going to review all
          changed interfaces again and improve things.

        * tao/POA.{h,cpp}:
          - Changed adapter_state_changed to use IORInterceptor_List
          functionality to call adapter_state_changed on all IORInterceptors
          - Changed access of some methods
        * tao/IORInfo.cpp:
          Commented out some add_refs on the ORT, this should be done in the
          ORT Adapter. Need to check this

        * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory.{h,cpp}:
        * tao/ObjRefTemplate/ObjectReferenceTemplate_Impl.{h,cpp,inl}:
          New files with first implementation

Tue Aug 17 13:59:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/IORInterceptor/IORInterceptor_List/{h,cpp}:
          Added adapter_state_changed, this gets a normal
          TAO_ObjectReferenceTemplate_Array, converts this into a corba
          sequence and calls adapter_state_change for each interceptor.

        * tao/PortableServer/diffs/Default_ORT.diff:
          Zap this file

Tue Aug 17 10:31:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/ObjectReferenceTemplate_Adapter.h:
        * tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h:
          Corrected export macro

Tue Aug 17  90:31:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.cpp:
          Fixed incorrect include

        * tao/PortableServer/ObjectReferenceTemplate_Adapter.h:
          - Added adapter_name as constructor argument
          - Added destroy() method, called by POA when this adapter is not
          needed anymore, adapter must do its own cleanup
          - Added activate() method with just a ORT* to activate the adapter
          with an existing factory.
          - Added get_adapter_template and get_obj_ref_factory to get the real
          servant, this is needed for the IORInterceptors

        * tao/PortableServer/POA.{h,cpp,i}:
          - Added invoke_key_to_object_helper() which will check for the ORT and
          if available will call that or will call invoke_key_to_object
          instead.
          - Added object_reference_template_adapter() which will check
          ir an ORT Adapter is already available, if not, tries to get an
          ORT Adapater Factory, if that is available, create a new ORT
          Adapter.
          - Added some doxygen grouping to group methods belonging to each other
          in one doxygen group.
          - Added ort_adapter_ member to store the ORT Adapter when we have
          retrieved one.
          - Removed set_adapter_template() from the header file, there is no
          implementation of this method and it is not needed
          - Added TAO_POA_Static_Resources to store the name of the ORT factory,
          used the TAO_ORB_Core_Static_Resources but I didn't it put it there
          because the ORB_Core doesn't need to know anything or ORT.
          - Removed old ort_template, def_ort_template and obj_ref_factory and
          its usage.

        * tao/PortableServer/Default_ORT*.*:
        * tao/PortableServer/ObjectReferenceTemplate.{h,cpp,i}:
          Removed these files, default ORT implementation is now in the ORT
          library

Fri Aug 13 18:12:12 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PortableServer/ObjectReferenceTemplate_Adapter.{h,cpp}
          New file with base calss for ORT Adapters

        * tao/PortableServer/ObjectReferenceTemplate_Adapter_Facotry.{h,cpp}
          New file with base calss for ORT Adapter factories