d84a7c7001ae5b8deb4c0c09e98a587807b2b8c0
[senf.git] / senf / PPI / Jack.cti
1 // $Id$
2 //
3 // Copyright (C) 2009
4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 // Competence Center NETwork research (NET), St. Augustin, GERMANY
6 //     Stefan Bund <g0dil@berlios.de>
7 //
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
23 /** \file
24     \brief Jack inline template implementation */
25
26 //#include "Jack.ih"
27
28 // Custom includes
29 #include "Setup.hh"
30
31 #define prefix_ inline
32 //-/////////////////////////////////////////////////////////////////////////////////////////////////
33
34 template <class PacketType>
35 prefix_ senf::ppi::connector::ActiveInputJack<PacketType>::
36 ActiveInputJack(ActiveInput<PacketType> & input)
37     : GenericActiveInputJack (input)
38 {}
39
40 template <class PacketType>
41 prefix_
42 senf::ppi::connector::ActiveInputJack<PacketType>::ActiveInputJack(ActiveInput<> & input)
43     : GenericActiveInputJack (input)
44 {}
45
46 template <class PacketType>
47 prefix_
48 senf::ppi::connector::ActiveInputJack<PacketType>::ActiveInputJack(ActiveInputJack & input)
49     : GenericActiveInputJack (input.connector())
50 {}
51
52 template <class PacketType>
53 prefix_
54 senf::ppi::connector::ActiveInputJack<PacketType>::ActiveInputJack(ActiveInputJack<> & input)
55     : GenericActiveInputJack (input.connector())
56 {}
57
58 template <class PacketType>
59 prefix_ void
60 senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInput<PacketType> & input)
61 {
62     GenericActiveInputJack::reset(input);
63 }
64
65 template <class PacketType>
66 prefix_ void senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInput<> & input)
67 {
68     GenericActiveInputJack::reset(input);
69 }
70
71 template <class PacketType>
72 prefix_ void senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInputJack & input)
73 {
74     GenericActiveInputJack::reset(input);
75 }
76
77 template <class PacketType>
78 prefix_ void senf::ppi::connector::ActiveInputJack<PacketType>::reset(ActiveInputJack<> & input)
79 {
80     GenericActiveInputJack::reset(input);
81 }
82
83 template <class PacketType>
84 prefix_ senf::ppi::connector::ActiveOutputJack<PacketType>::
85 ActiveOutputJack(ActiveOutput<PacketType> & output)
86     : GenericActiveOutputJack (output)
87 {}
88
89 template <class PacketType>
90 prefix_
91 senf::ppi::connector::ActiveOutputJack<PacketType>::ActiveOutputJack(ActiveOutput<> & output)
92     : GenericActiveOutputJack (output)
93 {}
94
95 template <class PacketType>
96 prefix_ senf::ppi::connector::ActiveOutputJack<PacketType>::
97 ActiveOutputJack(ActiveOutputJack & output)
98     : GenericActiveOutputJack (output.connector())
99 {}
100
101 template <class PacketType>
102 prefix_ senf::ppi::connector::ActiveOutputJack<PacketType>::
103 ActiveOutputJack(ActiveOutputJack<> & output)
104     : GenericActiveOutputJack (output.connector())
105 {}
106
107 template <class PacketType>
108 prefix_ void
109 senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutput<PacketType> & output)
110 {
111     GenericActiveOutputJack::reset(output);
112 }
113
114 template <class PacketType>
115 prefix_ void senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutput<> & output)
116 {
117     GenericActiveOutputJack::reset(output);
118 }
119
120 template <class PacketType>
121 prefix_ void
122 senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutputJack & output)
123 {
124     GenericActiveOutputJack::reset(output);
125 }
126
127 template <class PacketType>
128 prefix_ void
129 senf::ppi::connector::ActiveOutputJack<PacketType>::reset(ActiveOutputJack<> & output)
130 {
131     GenericActiveOutputJack::reset(output);
132 }
133
134 template <class PacketType>
135 prefix_ senf::ppi::connector::PassiveInputJack<PacketType>::
136 PassiveInputJack(PassiveInput<PacketType> & input)
137     : GenericPassiveInputJack (input)
138 {}
139
140 template <class PacketType>
141 prefix_
142 senf::ppi::connector::PassiveInputJack<PacketType>::PassiveInputJack(PassiveInput<> & input)
143     : GenericPassiveInputJack (input)
144 {}
145
146 template <class PacketType>
147 prefix_
148 senf::ppi::connector::PassiveInputJack<PacketType>::PassiveInputJack(PassiveInputJack & input)
149     : GenericPassiveInputJack (input.connector())
150 {}
151
152 template <class PacketType>
153 prefix_ senf::ppi::connector::PassiveInputJack<PacketType>::
154 PassiveInputJack(PassiveInputJack<> & input)
155     : GenericPassiveInputJack (input.connector())
156 {}
157
158 template <class PacketType>
159 prefix_ void
160 senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInput<PacketType> & input)
161 {
162     GenericPassiveInputJack::reset(input);
163 }
164
165 template <class PacketType>
166 prefix_ void senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInput<> & input)
167 {
168     GenericPassiveInputJack::reset(input);
169 }
170
171 template <class PacketType>
172 prefix_ void senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInputJack & input)
173 {
174     GenericPassiveInputJack::reset(input);
175 }
176
177 template <class PacketType>
178 prefix_ void
179 senf::ppi::connector::PassiveInputJack<PacketType>::reset(PassiveInputJack<> & input)
180 {
181     GenericPassiveInputJack::reset(input);
182 }
183
184 template <class PacketType>
185 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
186 PassiveOutputJack(PassiveOutput<PacketType> & output)
187     : GenericPassiveOutputJack (output)
188 {}
189
190 template <class PacketType>
191 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
192 PassiveOutputJack(PassiveOutput<> & output)
193     : GenericPassiveOutputJack (output)
194 {}
195
196 template <class PacketType>
197 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
198 PassiveOutputJack(PassiveOutputJack & output)
199     : GenericPassiveOutputJack (output.connector())
200 {}
201
202 template <class PacketType>
203 prefix_ senf::ppi::connector::PassiveOutputJack<PacketType>::
204 PassiveOutputJack(PassiveOutputJack<> & output)
205     : GenericPassiveOutputJack (output.connector())
206 {}
207
208 template <class PacketType>
209 prefix_ void
210 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutput<PacketType> & output)
211 {
212     GenericPassiveOutputJack::reset(output);
213 }
214
215 template <class PacketType>
216 prefix_ void
217 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutput<> & output)
218 {
219     GenericPassiveOutputJack::reset(output);
220 }
221
222 template <class PacketType>
223 prefix_ void
224 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutputJack & output)
225 {
226     GenericPassiveOutputJack::reset(output);
227 }
228
229 template <class PacketType>
230 prefix_ void
231 senf::ppi::connector::PassiveOutputJack<PacketType>::reset(PassiveOutputJack<> & output)
232 {
233     GenericPassiveOutputJack::reset(output);
234 }
235
236 template <class T>
237 prefix_ void
238 senf::ppi::connect(connector::GenericActiveOutputJack & source, T & target,
239                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
240 {
241     connect(source.connector(), target);
242 }
243
244 template <class T>
245 prefix_ void
246 senf::ppi::connect(connector::GenericPassiveOutputJack & source, T & target,
247                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
248 {
249     connect(source.connector(), target);
250 }
251
252 template <class T>
253 prefix_ void
254 senf::ppi::connect(T & source, connector::GenericActiveInputJack & target,
255                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
256 {
257     connect(source, target.connector());
258 }
259
260 template <class T>
261 prefix_ void
262 senf::ppi::connect(T & source, connector::GenericPassiveInputJack & target,
263                    typename boost::disable_if< boost::is_base_of<connector::Jack, T> >::type *)
264 {
265     connect(source, target.connector());
266 }
267
268 //-/////////////////////////////////////////////////////////////////////////////////////////////////
269 #undef prefix_
270
271 \f
272 // Local Variables:
273 // mode: c++
274 // fill-column: 100
275 // comment-column: 40
276 // c-file-style: "senf"
277 // indent-tabs-mode: nil
278 // ispell-local-dictionary: "american"
279 // compile-command: "scons -u test"
280 // End: