summaryrefslogtreecommitdiff
path: root/bin/FOCUS/specializations/Wait_Strategy/Wait_On_Leader_Follower.spl
blob: 004ba08fc2d8f613e8974e3dfa24e66d6272ddf5 (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
<?xml version="1.0"?>

<!-- Wait Strategy Specialization
 *   ===============================
 *   Details all the specialization transformations necessary
 *   to specialize the Wait_Strategy with the TAO_Wait_On_Leader_Follower strategy
 *
 *   @author Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
 *   $Id$
-->

<transform>

<module name="TAO/tao">

<file name="Wait_Strategy.cpp">

<!-- Copy specialized code from the Wait_On_Leader_Follower strategy
     to this file -->

<copy-from-source>

 <!-- Name of the source file from which to copy. In this case, this is
      the Wait_On_Read source file -->
 <source>Wait_On_Leader_Follower.cpp</source>

 <!-- Copy data between the following hooks defined in the aforementioned
      file -->
 <copy-hook-start>WAIT_STRATEGY_SPL_COPY_HOOK_START</copy-hook-start>
 <copy-hook-end>WAIT_STRATEGY_SPL_COPY_HOOK_END</copy-hook-end>

 <!-- Destination hook in the Wait_Strategy.h file where the code
      should be placed -->
 <dest-hook>TAO_WAIT_STRATEGY_SPL_ADD_HOOK</dest-hook>

</copy-from-source>

<!-- Copy include files to the hook to get the necessary include files -->
<add>
 <hook>WAIT_STRATEGY_SPL_COPY_HOOK_START</hook>
 <data>
#include "tao/Wait_On_Leader_Follower.h"
#include "tao/LF_Follower.h"
#include "tao/Leader_Follower.h"
#include "tao/Transport.h"
#include "tao/Synch_Reply_Dispatcher.h"
#include "tao/ORB_Core.h"
 </data>
</add>

<!-- Once this is done, replace all occurences of TAO_Wait_On_Leader_Follower with
     TAO_Wait_Strategy -->
<substitute>
 <search>TAO_Wait_On_Leader_Follower</search>
 <replace>TAO_Wait_Strategy</replace>
</substitute>

<comment>
 <start-hook>LF_WAIT_STRATEGY_SPL_COMMENT_HOOK_START</start-hook>
 <end-hook>LF_WAIT_STRATEGY_SPL_COMMENT_HOOK_END</end-hook>
</comment>

<add>
 <hook>LF_WAIT_STRATEGY_SPL_SENDING_REQUEST_HOOK</hook>
 <data>
    return 0;
 </data>
</add>

</file>

<file name="Wait_Strategy.h">

<!-- Remove all occurances of virtual -->
<remove>virtual</remove>
<remove>= 0</remove>

</file>

<file name="default_client.cpp">

<comment>
 <start-hook>WAIT_STRATEGY_SPL_COMMENT_HOOK_START</start-hook>
 <end-hook>WAIT_STRATEGY_SPL_COMMENT_HOOK_END</end-hook>
</comment>

<add>
 <hook>WAIT_STRATEGY_SPL_COMMENT_HOOK_END</hook>
 <data>
    ACE_NEW_RETURN (ws,
                    TAO_Wait_Strategy (transport),
                    0);
 </data>
</add>

</file>

<file name="tao.mpc">

<!-- Do not build the other Wait strategy classes -->
<substitute>
 <search>Wait_On_Read.h</search>
 <replace>// Wait_On_Read.cpp</replace>
</substitute>
<substitute>
 <search>Wait_On_Read.cpp</search>
 <replace>// Wait_On_Read.cpp</replace>
</substitute>

<substitute>
 <search>Wait_On_Reactor.h</search>
 <replace>// Wait_On_Reactor.cpp</replace>
</substitute>
<substitute>
 <search>Wait_On_Reactor.cpp</search>
 <replace>// Wait_On_Reactor.cpp</replace>
</substitute>

<substitute>
 <search>Wait_On_Leader_Follower.h</search>
 <replace>// Wait_On_Leader_Follower.cpp</replace>
</substitute>
<substitute>
 <search>Wait_On_Leader_Follower.cpp</search>
 <replace>// Wait_On_Leader_Follower.cpp</replace>
</substitute>

<substitute>
 <search>Wait_On_LF_No_Upcall.h</search>
 <replace>// Wait_On_LF_No_Upcall.cpp</replace>
</substitute>
<substitute>
 <search>Wait_On_LF_No_Upcall.cpp</search>
 <replace>// Wait_On_LF_No_Upcall.cpp</replace>
</substitute>

</file>

</module>

</transform>