4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
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
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.
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.
19 // The Original Code is Fraunhofer FOKUS code.
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.
26 // Stefan Bund <g0dil@berlios.de>
29 \brief DebugModules inline non-template implementation */
34 #define prefix_ inline
35 //-/////////////////////////////////////////////////////////////////////////////////////////////////
37 //-/////////////////////////////////////////////////////////////////////////////////////////////////
38 // senf::ppi::module::debug::ActiveSource
40 prefix_ senf::ppi::module::debug::ActiveSource::ActiveSource()
45 prefix_ void senf::ppi::module::debug::ActiveSource::submit(Packet const & packet)
50 prefix_ bool senf::ppi::module::debug::ActiveSource::boolean_test()
56 //-/////////////////////////////////////////////////////////////////////////////////////////////////
57 // senf::ppi::module::debug::PassiveSource
59 prefix_ senf::ppi::module::debug::PassiveSource::PassiveSource()
62 output.onRequest(&PassiveSource::request);
65 prefix_ void senf::ppi::module::debug::PassiveSource::throttle()
70 prefix_ void senf::ppi::module::debug::PassiveSource::unthrottle()
75 prefix_ void senf::ppi::module::debug::PassiveSource::submit(Packet const & packet)
77 packets_.push_back(packet);
81 prefix_ bool senf::ppi::module::debug::PassiveSource::empty()
83 return packets_.empty();
86 prefix_ senf::ppi::module::debug::PassiveSource::size_type
87 senf::ppi::module::debug::PassiveSource::size()
89 return packets_.size();
92 //-/////////////////////////////////////////////////////////////////////////////////////////////////
95 prefix_ void senf::ppi::module::debug::PassiveSource::v_init()
101 //-/////////////////////////////////////////////////////////////////////////////////////////////////
102 // senf::ppi::module::debug::ActiveSink
104 prefix_ senf::ppi::module::debug::ActiveSink::ActiveSink()
109 prefix_ senf::Packet senf::ppi::module::debug::ActiveSink::request()
114 prefix_ bool senf::ppi::module::debug::ActiveSink::boolean_test()
120 //-/////////////////////////////////////////////////////////////////////////////////////////////////
121 // senf::ppi::module::debug::PassiveSink
123 prefix_ senf::ppi::module::debug::PassiveSink::PassiveSink()
126 input.onRequest(&PassiveSink::request);
129 prefix_ void senf::ppi::module::debug::PassiveSink::throttle()
134 prefix_ void senf::ppi::module::debug::PassiveSink::unthrottle()
139 prefix_ bool senf::ppi::module::debug::PassiveSink::empty()
141 return packets_.empty();
144 prefix_ senf::ppi::module::debug::PassiveSink::size_type
145 senf::ppi::module::debug::PassiveSink::size()
147 return packets_.size();
150 prefix_ senf::ppi::module::debug::PassiveSink::iterator
151 senf::ppi::module::debug::PassiveSink::begin()
153 return packets_.begin();
156 prefix_ senf::ppi::module::debug::PassiveSink::iterator
157 senf::ppi::module::debug::PassiveSink::end()
159 return packets_.end();
162 prefix_ senf::Packet senf::ppi::module::debug::PassiveSink::front()
167 return packets_.front();
170 prefix_ senf::Packet senf::ppi::module::debug::PassiveSink::pop_front()
174 packets_.pop_front();
178 prefix_ void senf::ppi::module::debug::PassiveSink::clear()
180 packets_.erase(packets_.begin(), packets_.end());
183 //-/////////////////////////////////////////////////////////////////////////////////////////////////
184 // senf::ppi::module::debug::ActiveFeederSource
186 prefix_ senf::ppi::module::debug::ActiveFeederSource::ActiveFeederSource()
187 : output(feeder.output)
189 ppi::connect(source,feeder);
192 prefix_ void senf::ppi::module::debug::ActiveFeederSource::submit(Packet packet)
194 source.submit(packet);
197 prefix_ bool senf::ppi::module::debug::ActiveFeederSource::empty()
199 return source.empty();
202 prefix_ senf::ppi::module::debug::ActiveFeederSource::size_type
203 senf::ppi::module::debug::ActiveFeederSource::size()
205 return source.size();
208 //-/////////////////////////////////////////////////////////////////////////////////////////////////
209 // senf::ppi::module::debug::ActiveFeederSink
211 prefix_ senf::ppi::module::debug::ActiveFeederSink::ActiveFeederSink()
212 : input(feeder.input)
214 ppi::connect(feeder, sink);
217 prefix_ bool senf::ppi::module::debug::ActiveFeederSink::empty()
222 prefix_ senf::ppi::module::debug::ActiveFeederSink::size_type
223 senf::ppi::module::debug::ActiveFeederSink::size()
228 prefix_ senf::ppi::module::debug::ActiveFeederSink::iterator
229 senf::ppi::module::debug::ActiveFeederSink::begin()
234 prefix_ senf::ppi::module::debug::ActiveFeederSink::iterator
235 senf::ppi::module::debug::ActiveFeederSink::end()
240 prefix_ senf::Packet senf::ppi::module::debug::ActiveFeederSink::front()
245 prefix_ senf::Packet senf::ppi::module::debug::ActiveFeederSink::pop_front()
247 return sink.pop_front();
250 prefix_ void senf::ppi::module::debug::ActiveFeederSink::clear()
255 //-/////////////////////////////////////////////////////////////////////////////////////////////////
262 // comment-column: 40
263 // c-file-style: "senf"
264 // indent-tabs-mode: nil
265 // ispell-local-dictionary: "american"
266 // compile-command: "scons -u test"