InterfaceAPIBase.cti
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
14 /** \file
15  \brief InterfaceAPIBase inline template implementation */
16 
17 //#include "InterfaceAPIBase.ih"
18 
19 // Custom includes
20 
21 #define prefix_ inline
22 //-/////////////////////////////////////////////////////////////////////////////////////////////////
23 
24 //-/////////////////////////////////////////////////////////////////////////////////////////////////
25 // senf::emu::InterfaceAPIBase< Wired,Bidirectional,void >
26 
27 template <class Output, class Input>
28 prefix_
29 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
30  senf::emu::interface::Bidirectional>::
31 InterfaceAPIBase(Output & output, Input & input)
32  : WiredReceiver(output), WiredTransmitter(input)
33 {}
34 
35 //-/////////////////////////////////////////////////////////////////////////////////////////////////
36 // senf::emu::InterfaceAPIBase< Wired,Bidirectional,Hardware >
37 
38 template <class Output, class Input>
39 prefix_
40 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
41  senf::emu::interface::Bidirectional,
42  senf::emu::interface::Hardware>::
43 InterfaceAPIBase(Output & output, Input & input)
44  : BidirectionalWiredInterface(output, input)
45 {}
46 
47 //-/////////////////////////////////////////////////////////////////////////////////////////////////
48 // senf::emu::InterfaceAPIBase< Wired,ReceiveOnly,Hardware >
49 
50 template <class Output>
51 prefix_
52 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
53  senf::emu::interface::ReceiveOnly,
54  senf::emu::interface::Hardware>::
55 InterfaceAPIBase(Output & output)
56  : WiredReceiver(output)
57 {}
58 
59 //-/////////////////////////////////////////////////////////////////////////////////////////////////
60 // senf::emu::InterfaceAPIBase< Wired,TransmitOnly,Hardware >
61 
62 template <class Input>
63 prefix_
64 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
65  senf::emu::interface::TransmitOnly,
66  senf::emu::interface::Hardware>::
67 InterfaceAPIBase(Input & input)
68  : WiredTransmitter(input)
69 {}
70 
71 //-/////////////////////////////////////////////////////////////////////////////////////////////////
72 // senf::emu::InterfaceAPIBase< Wireless,Bidirectional,void >
73 
74 template <class Output, class Input>
75 prefix_
76 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
77  senf::emu::interface::Bidirectional>::
78 InterfaceAPIBase(Output & output, Input & input)
79  : WirelessReceiver(output), WirelessTransmitter(input)
80 {}
81 
82 //-/////////////////////////////////////////////////////////////////////////////////////////////////
83 // senf::emu::InterfaceAPIBase< Wireless,Bidirectional,Hardware >
84 
85 template <class Output, class Input>
86 prefix_
87 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
88  senf::emu::interface::Bidirectional,
89  senf::emu::interface::Hardware>::
90 InterfaceAPIBase(Output & output, Input & input)
91  : BidirectionalWirelessInterface(output, input)
92 {}
93 
94 //-/////////////////////////////////////////////////////////////////////////////////////////////////
95 // senf::emu::InterfaceAPIBase< Wireless,ReceiveOnly,Hardware >
96 
97 template <class Output>
98 prefix_
99 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
100  senf::emu::interface::ReceiveOnly,
101  senf::emu::interface::Hardware>::
102 InterfaceAPIBase(Output & output)
103  : WirelessReceiver(output)
104 {}
105 
106 //-/////////////////////////////////////////////////////////////////////////////////////////////////
107 // senf::emu::InterfaceAPIBase< Wireless,TransmitOnly,Hardware >
108 
109 template <class Input>
110 prefix_
111 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
112  senf::emu::interface::TransmitOnly,
113  senf::emu::interface::Hardware>::
114 InterfaceAPIBase(Input & input)
115  : WirelessTransmitter(input)
116 {}
117 
118 //-/////////////////////////////////////////////////////////////////////////////////////////////////
119 // senf::emu::InterfaceAPIBase< Wired,Bidirectional,Emulated >
120 
121 template <class Base>
122 template <class Output, class Input>
123 prefix_
124 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
125  senf::emu::interface::Bidirectional,
126  senf::emu::interface::Emulated,
127  Base>::
128 InterfaceAPIBase(Output & output, Input & input)
129  : Base(output, input)
130 {}
131 
132 template <class Base>
133 prefix_ void
134 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
135  senf::emu::interface::Bidirectional,
136  senf::emu::interface::Emulated,
137  Base>::
138 v_enable()
139 {
140  enableEmulatedInterface();
141 }
142 
143 template <class Base>
144 prefix_ void
145 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
146  senf::emu::interface::Bidirectional,
147  senf::emu::interface::Emulated,
148  Base>::
149 v_disable()
150 {
151  disableEmulatedInterface();
152 }
153 
154 template <class Base>
155 prefix_ bool
156 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
157  senf::emu::interface::Bidirectional,
158  senf::emu::interface::Emulated,
159  Base>::
160 v_enabled()
161  const
162 {
163  return emulatedInterfaceEnabled();
164 }
165 
166 template <class Base>
167 prefix_ void
168 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
169  senf::emu::interface::Bidirectional,
170  senf::emu::interface::Emulated,
171  Base>::
172 v_initEmulationInterface()
173 {
174  initEmulatedReceiver();
175  initEmulatedTransmitter();
176 }
177 
178 template <class Base>
179 prefix_ void
180 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
181  senf::emu::interface::Bidirectional,
182  senf::emu::interface::Emulated,
183  Base>::
184 v_deinitEmulationInterface()
185 {
186  deinitEmulatedTransmitter();
187  deinitEmulatedReceiver();
188 }
189 
190 template <class Base>
191 prefix_ bool
192 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
193  senf::emu::interface::Bidirectional,
194  senf::emu::interface::Emulated,
195  Base>::
196 v_promisc()
197  const
198 {
199  return promiscEmulatedReceiver();
200 }
201 
202 template <class Base>
203 prefix_ void
204 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
205  senf::emu::interface::Bidirectional,
206  senf::emu::interface::Emulated,
207  Base>::
208 v_promisc(bool v)
209 {
210  promiscEmulatedReceiver(v);
211 }
212 
213 template <class Base>
214 prefix_ bool
215 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
216  senf::emu::interface::Bidirectional,
217  senf::emu::interface::Emulated,
218  Base>::
219 v_annotationMode()
220  const
221 {
222  return annotationModeEmulatedReceiver();
223 }
224 
225 template <class Base>
226 prefix_ void
227 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
228  senf::emu::interface::Bidirectional,
229  senf::emu::interface::Emulated,
230  Base>::
231 v_annotationMode(bool a)
232 {
233  annotationModeEmulatedReceiver(a);
234 }
235 
236 
237 template <class Base>
238 prefix_ void
239 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
240  senf::emu::interface::Bidirectional,
241  senf::emu::interface::Emulated,
242  Base>::
243 v_mcAdd(senf::MACAddress const & address)
244 {
245  mcAddEmulatedReceiver(address);
246 }
247 
248 template <class Base>
249 prefix_ void
250 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
251  senf::emu::interface::Bidirectional,
252  senf::emu::interface::Emulated,
253  Base>::
254 v_mcDrop(senf::MACAddress const & address)
255 {
256  mcDropEmulatedReceiver(address);
257 }
258 
259 template <class Base>
260 prefix_ unsigned
261 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
262  senf::emu::interface::Bidirectional,
263  senf::emu::interface::Emulated,
264  Base>::
265 v_mtu()
266  const
267 {
268  return mtuEmulatedTransmitter();
269 }
270 
271 template <class Base>
272 prefix_ void
273 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
274  senf::emu::interface::Bidirectional,
275  senf::emu::interface::Emulated,
276  Base>::
277 v_mtu(unsigned v)
278 {
279  mtuEmulatedTransmitter(v);
280 }
281 
282 template <class Base>
283 prefix_ void
284 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
285  senf::emu::interface::Bidirectional,
286  senf::emu::interface::Emulated,
287  Base>::
288 init()
289 {
290  Base::init();
291  EmulatedWiredInterface::init();
292  EmulatedWiredReceiver::init();
293  EmulatedWiredTransmitter::init();
294 }
295 
296 
297 //-/////////////////////////////////////////////////////////////////////////////////////////////////
298 // senf::emu::InterfaceAPIBase< Wired,ReceiveOnly,Emulated >
299 
300 template <class Output>
301 prefix_
302 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
303  senf::emu::interface::ReceiveOnly,
304  senf::emu::interface::Emulated>::
305 InterfaceAPIBase(Output & output)
306  : WiredReceiver(output)
307 {}
308 
309 //-/////////////////////////////////////////////////////////////////////////////////////////////////
310 // senf::emu::InterfaceAPIBase< Wired,TransmitOnly,Emulated >
311 
312 template <class Input>
313 prefix_
314 senf::emu::InterfaceAPIBase<senf::emu::interface::Wired,
315  senf::emu::interface::TransmitOnly,
316  senf::emu::interface::Emulated>::
317 InterfaceAPIBase(Input & input)
318  : WiredTransmitter(input)
319 {}
320 
321 //-/////////////////////////////////////////////////////////////////////////////////////////////////
322 // senf::emu::InterfaceAPIBase< Wireless,Bidirectional,Emulated >
323 
324 template <class Base>
325 template <class Output, class Input>
326 prefix_
327 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
328  senf::emu::interface::Bidirectional,
329  senf::emu::interface::Emulated,
330  Base>::
331 InterfaceAPIBase(Output & output, Input & input)
332  : Base(output, input)
333 {}
334 
335 template <class Base>
336 prefix_ void
337 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
338  senf::emu::interface::Bidirectional,
339  senf::emu::interface::Emulated,
340  Base>::
341 v_enable()
342 {
343  enableEmulatedInterface();
344 }
345 
346 template <class Base>
347 prefix_ void
348 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
349  senf::emu::interface::Bidirectional,
350  senf::emu::interface::Emulated,
351  Base>::
352 v_disable()
353 {
354  disableEmulatedInterface();
355 }
356 
357 template <class Base>
358 prefix_ bool
359 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
360  senf::emu::interface::Bidirectional,
361  senf::emu::interface::Emulated,
362  Base>::
363 v_enabled()
364  const
365 {
366  return emulatedInterfaceEnabled();
367 }
368 
369 template <class Base>
370 prefix_ void
371 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
372  senf::emu::interface::Bidirectional,
373  senf::emu::interface::Emulated,
374  Base>::
375 v_initEmulationInterface()
376 {
377  initEmulatedReceiver();
378  initEmulatedTransmitter();
379 }
380 
381 template <class Base>
382 prefix_ void
383 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
384  senf::emu::interface::Bidirectional,
385  senf::emu::interface::Emulated,
386  Base>::
387 v_deinitEmulationInterface()
388 {
389  deinitEmulatedTransmitter();
390  deinitEmulatedReceiver();
391 }
392 
393 template <class Base>
394 prefix_ bool
395 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
396  senf::emu::interface::Bidirectional,
397  senf::emu::interface::Emulated,
398  Base>::
399 v_promisc()
400  const
401 {
402  return promiscEmulatedReceiver();
403 }
404 
405 template <class Base>
406 prefix_ void
407 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
408  senf::emu::interface::Bidirectional,
409  senf::emu::interface::Emulated,
410  Base>::
411 v_promisc(bool v)
412 {
413  promiscEmulatedReceiver(v);
414 }
415 
416 template <class Base>
417 prefix_ bool
418 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
419  senf::emu::interface::Bidirectional,
420  senf::emu::interface::Emulated,
421  Base>::
422 v_annotationMode()
423  const
424 {
425  return annotationModeEmulatedReceiver();
426 }
427 
428 template <class Base>
429 prefix_ void
430 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
431  senf::emu::interface::Bidirectional,
432  senf::emu::interface::Emulated,
433  Base>::
434 v_annotationMode(bool a)
435 {
436  annotationModeEmulatedReceiver(a);
437 }
438 
439 template <class Base>
440 prefix_ void
441 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
442  senf::emu::interface::Bidirectional,
443  senf::emu::interface::Emulated,
444  Base>::
445 v_mcAdd(senf::MACAddress const & address)
446 {
447  mcAddEmulatedReceiver(address);
448 }
449 
450 template <class Base>
451 prefix_ void
452 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
453  senf::emu::interface::Bidirectional,
454  senf::emu::interface::Emulated,
455  Base>::
456 v_mcDrop(senf::MACAddress const & address)
457 {
458  mcDropEmulatedReceiver(address);
459 }
460 
461 template <class Base>
462 prefix_ unsigned
463 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
464  senf::emu::interface::Bidirectional,
465  senf::emu::interface::Emulated,
466  Base>::
467 v_mtu()
468  const
469 {
470  return mtuEmulatedTransmitter();
471 }
472 
473 template <class Base>
474 prefix_ void
475 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
476  senf::emu::interface::Bidirectional,
477  senf::emu::interface::Emulated,
478  Base>::
479 v_mtu(unsigned v)
480 {
481  mtuEmulatedTransmitter(v);
482 }
483 
484 template <class Base>
485 prefix_ unsigned
486 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
487  senf::emu::interface::Bidirectional,
488  senf::emu::interface::Emulated,
489  Base>::
490 v_frequency()
491  const
492 {
493  return emulatedFrequency();
494 }
495 
496 template <class Base>
497 prefix_ unsigned
498 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
499  senf::emu::interface::Bidirectional,
500  senf::emu::interface::Emulated,
501  Base>::
502 v_bandwidth()
503  const
504 {
505  return emulatedBandwidth();
506 }
507 
508 template <class Base>
509 prefix_ void
510 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
511  senf::emu::interface::Bidirectional,
512  senf::emu::interface::Emulated,
513  Base>::
514 v_frequency(unsigned frequency, unsigned bandwidth)
515 {
516  emulatedFrequency(frequency, bandwidth);
517 }
518 
519 template <class Base>
520 prefix_ void
521 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
522  senf::emu::interface::Bidirectional,
523  senf::emu::interface::Emulated,
524  Base>::
525 v_coverageRange(unsigned distance)
526 {
527  emulatedCoverageRange(distance);
528 }
529 
530 template <class Base>
531 prefix_ void
532 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
533  senf::emu::interface::Bidirectional,
534  senf::emu::interface::Emulated,
535  Base>::
536 init()
537 {
538  Base::init();
539  EmulatedWirelessInterface::init();
540  EmulatedWirelessReceiver::init();
541  EmulatedWirelessTransmitter::init();
542 }
543 
544 
545 //-/////////////////////////////////////////////////////////////////////////////////////////////////
546 // senf::emu::InterfaceAPIBase< Wireless,ReceiveOnly,Emulated >
547 
548 template <class Base>
549 template <class Output>
550 prefix_
551 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
552  senf::emu::interface::ReceiveOnly,
553  senf::emu::interface::Emulated,
554  Base>::
555 InterfaceAPIBase(Output & output)
556  : WirelessReceiver(output)
557 {}
558 
559 template <class Base>
560 prefix_ void
561 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
562  senf::emu::interface::ReceiveOnly,
563  senf::emu::interface::Emulated,
564  Base>::
565 v_enable()
566 {
567  enableEmulatedInterface();
568 }
569 
570 template <class Base>
571 prefix_ void
572 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
573  senf::emu::interface::ReceiveOnly,
574  senf::emu::interface::Emulated,
575  Base>::
576 v_disable()
577 {
578  disableEmulatedInterface();
579 }
580 
581 template <class Base>
582 prefix_ bool
583 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
584  senf::emu::interface::ReceiveOnly,
585  senf::emu::interface::Emulated,
586  Base>::
587 v_enabled()
588  const
589 {
590  return emulatedInterfaceEnabled();
591 }
592 
593 template <class Base>
594 prefix_ void
595 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
596  senf::emu::interface::ReceiveOnly,
597  senf::emu::interface::Emulated,
598  Base>::
599 v_initEmulationInterface()
600 {
601  initEmulatedReceiver();
602 }
603 
604 template <class Base>
605 prefix_ void
606 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
607  senf::emu::interface::ReceiveOnly,
608  senf::emu::interface::Emulated,
609  Base>::
610 v_deinitEmulationInterface()
611 {
612  deinitEmulatedReceiver();
613 }
614 
615 template <class Base>
616 prefix_ bool
617 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
618  senf::emu::interface::ReceiveOnly,
619  senf::emu::interface::Emulated,
620  Base>::
621 v_promisc()
622  const
623 {
624  return promiscEmulatedReceiver();
625 }
626 
627 template <class Base>
628 prefix_ void
629 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
630  senf::emu::interface::ReceiveOnly,
631  senf::emu::interface::Emulated,
632  Base>::
633 v_promisc(bool v)
634 {
635  promiscEmulatedReceiver(v);
636 }
637 
638 template <class Base>
639 prefix_ bool
640 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
641  senf::emu::interface::ReceiveOnly,
642  senf::emu::interface::Emulated,
643  Base>::
644 v_annotationMode()
645  const
646 {
647  return annotationModeEmulatedReceiver();
648 }
649 
650 template <class Base>
651 prefix_ void
652 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
653  senf::emu::interface::ReceiveOnly,
654  senf::emu::interface::Emulated,
655  Base>::
656 v_annotationMode(bool a)
657 {
658  annotationModeEmulatedReceiver(a);
659 }
660 
661 template <class Base>
662 prefix_ void
663 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
664  senf::emu::interface::ReceiveOnly,
665  senf::emu::interface::Emulated,
666  Base>::
667 v_mcAdd(senf::MACAddress const & address)
668 {
669  mcAddEmulatedReceiver(address);
670 }
671 
672 template <class Base>
673 prefix_ void
674 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
675  senf::emu::interface::ReceiveOnly,
676  senf::emu::interface::Emulated,
677  Base>::
678 v_mcDrop(senf::MACAddress const & address)
679 {
680  mcDropEmulatedReceiver(address);
681 }
682 
683 template <class Base>
684 prefix_ unsigned
685 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
686  senf::emu::interface::ReceiveOnly,
687  senf::emu::interface::Emulated,
688  Base>::
689 v_frequency()
690  const
691 {
692  return emulatedFrequency();
693 }
694 
695 template <class Base>
696 prefix_ unsigned
697 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
698  senf::emu::interface::ReceiveOnly,
699  senf::emu::interface::Emulated,
700  Base>::
701 v_bandwidth()
702  const
703 {
704  return emulatedBandwidth();
705 }
706 
707 template <class Base>
708 prefix_ void
709 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
710  senf::emu::interface::ReceiveOnly,
711  senf::emu::interface::Emulated,
712  Base>::
713 v_frequency(unsigned frequency, unsigned bandwidth)
714 {
715  emulatedFrequency(frequency, bandwidth);
716 }
717 
718 template <class Base>
719 prefix_ void
720 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
721  senf::emu::interface::ReceiveOnly,
722  senf::emu::interface::Emulated,
723  Base>::
724 v_coverageRange(unsigned distance)
725 {
726  emulatedCoverageRange(distance);
727 }
728 
729 template <class Base>
730 prefix_ void
731 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
732  senf::emu::interface::ReceiveOnly,
733  senf::emu::interface::Emulated,
734  Base>::
735 init()
736 {
737  Base::init();
738  WirelessReceiver::init();
739  EmulatedWirelessInterface::init();
740  EmulatedWirelessReceiver::init();
741 }
742 
743 
744 //-/////////////////////////////////////////////////////////////////////////////////////////////////
745 // senf::emu::InterfaceAPIBase< Wireless,TransmitOnly,Emulated >
746 
747 template <class Base>
748 template <class Input>
749 prefix_
750 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
751  senf::emu::interface::TransmitOnly,
752  senf::emu::interface::Emulated,
753  Base>::
754 InterfaceAPIBase(Input & input)
755  : WirelessTransmitter(input)
756 {}
757 
758 template <class Base>
759 prefix_ void
760 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
761  senf::emu::interface::TransmitOnly,
762  senf::emu::interface::Emulated,
763  Base>::
764 v_enable()
765 {
766  enableEmulatedInterface();
767 }
768 
769 template <class Base>
770 prefix_ void
771 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
772  senf::emu::interface::TransmitOnly,
773  senf::emu::interface::Emulated,
774  Base>::
775 v_disable()
776 {
777  disableEmulatedInterface();
778 }
779 
780 template <class Base>
781 prefix_ bool
782 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
783  senf::emu::interface::TransmitOnly,
784  senf::emu::interface::Emulated,
785  Base>::
786 v_enabled()
787  const
788 {
789  return emulatedInterfaceEnabled();
790 }
791 
792 template <class Base>
793 prefix_ void
794 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
795  senf::emu::interface::TransmitOnly,
796  senf::emu::interface::Emulated,
797  Base>::
798 v_initEmulationInterface()
799 {
800  initEmulatedTransmitter();
801 }
802 
803 template <class Base>
804 prefix_ void
805 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
806  senf::emu::interface::TransmitOnly,
807  senf::emu::interface::Emulated,
808  Base>::
809 v_deinitEmulationInterface()
810 {
811  deinitEmulatedTransmitter();
812 }
813 
814 template <class Base>
815 prefix_ unsigned
816 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
817  senf::emu::interface::TransmitOnly,
818  senf::emu::interface::Emulated,
819  Base>::
820 v_mtu()
821  const
822 {
823  return mtuEmulatedTransmitter();
824 }
825 
826 template <class Base>
827 prefix_ void
828 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
829  senf::emu::interface::TransmitOnly,
830  senf::emu::interface::Emulated,
831  Base>::
832 v_mtu(unsigned v)
833 {
834  mtuEmulatedTransmitter(v);
835 }
836 
837 template <class Base>
838 prefix_ unsigned
839 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
840  senf::emu::interface::TransmitOnly,
841  senf::emu::interface::Emulated,
842  Base>::
843 v_frequency()
844  const
845 {
846  return emulatedFrequency();
847 }
848 
849 template <class Base>
850 prefix_ unsigned
851 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
852  senf::emu::interface::TransmitOnly,
853  senf::emu::interface::Emulated,
854  Base>::
855 v_bandwidth()
856  const
857 {
858  return emulatedBandwidth();
859 }
860 
861 template <class Base>
862 prefix_ void
863 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
864  senf::emu::interface::TransmitOnly,
865  senf::emu::interface::Emulated,
866  Base>::
867 v_frequency(unsigned frequency, unsigned bandwidth)
868 {
869  emulatedFrequency(frequency, bandwidth);
870 }
871 
872 template <class Base>
873 prefix_ void
874 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
875  senf::emu::interface::TransmitOnly,
876  senf::emu::interface::Emulated,
877  Base>::
878 v_coverageRange(unsigned distance)
879 {
880  emulatedCoverageRange(distance);
881 }
882 
883 template <class Base>
884 prefix_ void
885 senf::emu::InterfaceAPIBase<senf::emu::interface::Wireless,
886  senf::emu::interface::TransmitOnly,
887  senf::emu::interface::Emulated,
888  Base>::
889 init()
890 {
891  Base::init();
892  WirelessTransmitter::init();
893  EmulatedWirelessInterface::init();
894  EmulatedWirelessTransmitter::init();
895 }
896 
897 //-/////////////////////////////////////////////////////////////////////////////////////////////////
898 #undef prefix_
899 
900 
901 // Local Variables:
902 // mode: c++
903 // fill-column: 100
904 // comment-column: 40
905 // c-file-style: "senf"
906 // indent-tabs-mode: nil
907 // ispell-local-dictionary: "american"
908 // compile-command: "scons -u test"
909 // End: