switch to new MPL based Fraunhofer FOKUS Public License
[senf.git] / senf / PPI / Jack.cti
1 // $Id$
2 //
3 // Copyright (C) 2009
4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 //
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at 
9 // http://senf.berlios.de/license.html
10 //
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on, 
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
14 //
15 // Software distributed under the License is distributed on an "AS IS" basis, 
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
17 // for the specific language governing rights and limitations under the License.
18 //
19 // The Original Code is Fraunhofer FOKUS code.
20 //
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. 
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 // All Rights Reserved.
24 //
25 // Contributor(s):
26 //   Stefan Bund <g0dil@berlios.de>
27
28 /** \file
29     \brief Jack inline template implementation */
30
31 //#include "Jack.ih"
32
33 // Custom includes
34 #include "Setup.hh"
35
36 #define prefix_ inline
37 //-/////////////////////////////////////////////////////////////////////////////////////////////////
38
39 template <class PacketType>
40 prefix_ senf::ppi::connector::ActiveInputJack<PacketType>::
41 ActiveInputJack(ActiveInput<PacketType> & input)
42     : GenericActiveInputJack (input)
43 {}
44
45 template <class PacketType>
46 prefix_
47 senf::ppi::connector::ActiveInputJack<PacketType>::ActiveInputJack(ActiveInput<> & input)
48     : GenericActiveInputJack (input)
49 {}
50
51 template <class PacketType>
52 prefix_
53 senf::ppi::connector::ActiveInputJack<PacketType>::ActiveInputJack(ActiveInputJack & input)
54     : GenericActiveInputJack (input.connector())
55 {}
56
57 template <class PacketType>
58 prefix_
59 senf::ppi::connector::ActiveInputJack<PacketType>::ActiveInputJack(ActiveInputJack<> & input)
60     : GenericActiveInputJack (input.connector())
61 {}
62
63 template <class PacketType>
64 prefix_ void
65 senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInput<PacketType> & input)
66 {
67     GenericActiveInputJack::reset(input);
68 }
69
70 template <class PacketType>
71 prefix_ void senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInput<> & input)
72 {
73     GenericActiveInputJack::reset(input);
74 }
75
76 template <class PacketType>
77 prefix_ void senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInputJack & input)
78 {
79     GenericActiveInputJack::reset(input);
80 }
81
82 template <class PacketType>
83 prefix_ void senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInputJack<> & input)
84 {
85     GenericActiveInputJack::reset(input);
86 }
87
88 template <class PacketType>
89 prefix_ senf::ppi::connector::ActiveOutputJack<PacketType>::
90 ActiveOutputJack(ActiveOutput<PacketType> & output)
91     : GenericActiveOutputJack (output)
92 {}
93
94 template <class PacketType>
95 prefix_
96 senf::ppi::connector::ActiveOutputJack<PacketType>::ActiveOutputJack(ActiveOutput<> & output)
97     : GenericActiveOutputJack (output)
98 {}
99
100 template <class PacketType>
101 prefix_ senf::ppi::connector::ActiveOutputJack<PacketType>::
102 ActiveOutputJack(ActiveOutputJack & output)
103     : GenericActiveOutputJack (output.connector())
104 {}
105
106 template <class PacketType>
107 prefix_ senf::ppi::connector::ActiveOutputJack<PacketType>::
108 ActiveOutputJack(ActiveOutputJack<> & output)
109     : GenericActiveOutputJack (output.connector())
110 {}
111
112 template <class PacketType>
113 prefix_ void
114 senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutput<PacketType> & output)
115 {
116     GenericActiveOutputJack::reset(output);
117 }
118
119 template <class PacketType>
120 prefix_ void senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutput<> & output)
121 {
122     GenericActiveOutputJack::reset(output);
123 }
124
125 template <class PacketType>
126 prefix_ void
127 senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutputJack & output)
128 {
129     GenericActiveOutputJack::reset(output);
130 }
131
132 template <class PacketType>
133 prefix_ void
134 senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutputJack<> & output)
135 {
136     GenericActiveOutputJack::reset(output);
137 }
138
139 template <class PacketType>
140 prefix_ senf::ppi::connector::PassiveInputJack<PacketType>::
141 PassiveInputJack(PassiveInput<PacketType> & input)
142     : GenericPassiveInputJack (input)
143 {}
144
145 template <class PacketType>
146 prefix_
147 senf::ppi::connector::PassiveInputJack<PacketType>::PassiveInputJack(PassiveInput<> & input)
148     : GenericPassiveInputJack (input)
149 {}
150
151 template <class PacketType>
152 prefix_
153 senf::ppi::connector::PassiveInputJack<PacketType>::PassiveInputJack(PassiveInputJack & input)
154     : GenericPassiveInputJack (input.connector())
155 {}
156
157 template <class PacketType>
158 prefix_ senf::ppi::connector::PassiveInputJack<PacketType>::
159 PassiveInputJack(PassiveInputJack<> & input)
160     : GenericPassiveInputJack (input.connector())
161 {}
162
163 template <class PacketType>
164 prefix_ void
165 senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInput<PacketType> & input)
166 {
167     GenericPassiveInputJack::reset(input);
168 }
169
170 template <class PacketType>
171 prefix_ void senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInput<> & input)
172 {
173     GenericPassiveInputJack::reset(input);
174 }
175
176 template <class PacketType>
177 prefix_ void senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInputJack & input)
178 {
179     GenericPassiveInputJack::reset(input);
180 }
181
182 template <class PacketType>
183 prefix_ void
184 senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInputJack<> & input)
185 {
186     GenericPassiveInputJack::reset(input);
187 }
188
189 template <class PacketType>
190 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
191 PassiveOutputJack(PassiveOutput<PacketType> & output)
192     : GenericPassiveOutputJack (output)
193 {}
194
195 template <class PacketType>
196 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
197 PassiveOutputJack(PassiveOutput<> & output)
198     : GenericPassiveOutputJack (output)
199 {}
200
201 template <class PacketType>
202 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
203 PassiveOutputJack(PassiveOutputJack & output)
204     : GenericPassiveOutputJack (output.connector())
205 {}
206
207 template <class PacketType>
208 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
209 PassiveOutputJack(PassiveOutputJack<> & output)
210     : GenericPassiveOutputJack (output.connector())
211 {}
212
213 template <class PacketType>
214 prefix_ void
215 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutput<PacketType> & output)
216 {
217     GenericPassiveOutputJack::reset(output);
218 }
219
220 template <class PacketType>
221 prefix_ void
222 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutput<> & output)
223 {
224     GenericPassiveOutputJack::reset(output);
225 }
226
227 template <class PacketType>
228 prefix_ void
229 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutputJack & output)
230 {
231     GenericPassiveOutputJack::reset(output);
232 }
233
234 template <class PacketType>
235 prefix_ void
236 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutputJack<> & output)
237 {
238     GenericPassiveOutputJack::reset(output);
239 }
240
241 template <class T>
242 prefix_ void
243 senf::ppi::connect(connector::GenericActiveOutputJack & source, T & target,
244                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
245 {
246     connect(source.connector(), target);
247 }
248
249 template <class T>
250 prefix_ void
251 senf::ppi::connect(connector::GenericPassiveOutputJack & source, T & target,
252                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
253 {
254     connect(source.connector(), target);
255 }
256
257 template <class T>
258 prefix_ void
259 senf::ppi::connect(T & source, connector::GenericActiveInputJack & target,
260                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
261 {
262     connect(source, target.connector());
263 }
264
265 template <class T>
266 prefix_ void
267 senf::ppi::connect(T & source, connector::GenericPassiveInputJack & target,
268                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
269 {
270     connect(source, target.connector());
271 }
272
273 //-/////////////////////////////////////////////////////////////////////////////////////////////////
274 #undef prefix_
275
276 \f
277 // Local Variables:
278 // mode: c++
279 // fill-column: 100
280 // comment-column: 40
281 // c-file-style: "senf"
282 // indent-tabs-mode: nil
283 // ispell-local-dictionary: "american"
284 // compile-command: "scons -u test"
285 // End: