17 #ifndef HH_SENF_Ext_NetEmu_InterfaceAPIBase_ 18 #define HH_SENF_Ext_NetEmu_InterfaceAPIBase_ 1 160 template <
class Medium,
class Direction,
class Transport=
void,
class Base=
void>
172 template <
class Output,
class Input>
186 :
public BidirectionalWiredInterface,
190 template <
class Output,
class Input>
206 template <
class Output>
222 template <
class Input>
237 template <
class Output,
class Input>
251 :
public BidirectionalWirelessInterface,
255 template <
class Output,
class Input>
271 template <
class Output>
287 template <
class Input>
297 template <
class Base>
303 template <
class Output,
class Input>
312 bool v_enabled()
const;
313 void v_initEmulationInterface();
314 void v_deinitEmulationInterface();
315 bool v_promisc()
const;
316 void v_promisc(
bool v);
317 bool v_annotationMode()
const;
318 void v_annotationMode(
bool a);
321 unsigned v_mtu()
const;
322 void v_mtu(
unsigned v);
327 :
InterfaceAPIBase<interface::Wired, interface::Bidirectional, interface::Emulated, BidirectionalWiredInterface>
339 template <
class Output>
348 bool v_enabled()
const;
349 void v_initEmulationInterface();
350 void v_deinitEmulationInterface();
351 bool v_promisc()
const;
352 void v_promisc(
bool v);
353 bool v_annotationMode()
const;
354 void v_annotationMode(
bool a);
368 template <
class Input>
377 bool v_enabled()
const;
378 void v_initEmulationInterface();
379 void v_deinitEmulationInterface();
380 unsigned v_mtu()
const;
381 void v_mtu(
unsigned v);
387 template <
class Base>
393 template <
class Output,
class Input>
405 bool v_enabled()
const;
406 void v_initEmulationInterface();
407 void v_deinitEmulationInterface();
408 bool v_promisc()
const;
409 void v_promisc(
bool v);
410 bool v_annotationMode()
const;
411 void v_annotationMode(
bool a);
414 unsigned v_mtu()
const;
415 void v_mtu(
unsigned v);
416 unsigned v_frequency()
const;
417 unsigned v_bandwidth()
const;
418 void v_frequency(
unsigned frequency,
unsigned bandwidth);
419 void v_coverageRange(
unsigned distance);
424 :
InterfaceAPIBase<interface::Wireless, interface::Bidirectional, interface::Emulated, BidirectionalWirelessInterface>
430 template <
class Base>
436 template <
class Output>
447 bool v_enabled()
const;
448 void v_initEmulationInterface();
449 void v_deinitEmulationInterface();
450 bool v_promisc()
const;
451 void v_promisc(
bool v);
452 bool v_annotationMode()
const;
453 void v_annotationMode(
bool a);
456 unsigned v_frequency()
const;
457 unsigned v_bandwidth()
const;
458 void v_frequency(
unsigned frequency,
unsigned bandwidth);
459 void v_coverageRange(
unsigned distance);
464 :
InterfaceAPIBase<interface::Wireless, interface::ReceiveOnly, interface::Emulated, WirelessInterface>
470 template <
class Base>
476 template <
class Input>
487 bool v_enabled()
const;
488 void v_initEmulationInterface();
489 void v_deinitEmulationInterface();
490 unsigned v_mtu()
const;
491 void v_mtu(
unsigned v);
492 unsigned v_frequency()
const;
493 unsigned v_bandwidth()
const;
494 void v_frequency(
unsigned frequency,
unsigned bandwidth);
495 void v_coverageRange(
unsigned distance);
500 :
InterfaceAPIBase<interface::Wireless, interface::TransmitOnly, interface::Emulated, WirelessInterface>
WirelessInterfaceAPI public header.
Emulated interface base-class for receive capable wired interfaces.
Emulated wireless receiver base-class.
Emulated wireless transmitter base-class.
Wired interface base class.
EmulatedInterface public header.
InterfaceAPIBase< interface::Wired, interface::Bidirectional > BidirectionalWiredInterface
Wired receiver base class.
Interface API base class specialization for wireless interfaces.
ppi::connector::ActiveOutputJack receiverJack
Receive capable wireless interface base class.
InterfaceAPIBase< interface::Wireless, interface::Bidirectional > BidirectionalWirelessInterface
Interface implementation base-class.
Emulated wireless interface base-class.
ppi::connector::PassiveInputJack transmitterJack
Hardware interface base class.
Emulated interface base-class for wired interfaces.
Transmit capable wireless interface base class.
Wired transmitter base class.
EmulatedWirelessInterface public header.
Emulated interface base-class for transmit capable wired interfaces.