# class SignallingInterface | Abstract digital signalling interface (hardware access). More...
Contains pure virtuals
Full name | `TelEngine::SignallingInterface`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::SignallingComponent [virtual public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum Operation { Specific = 0, EnableTx = 0x01, EnableRx = 0x02, Enable = 0x03, DisableTx = 0x04, DisableRx = 0x08, Disable = 0x0c, FlushTx = 0x10, FlushRx = 0x20, Flush = 0x30, QueryTx = 0x40, QueryRx = 0x80, Query = 0xc0 }
- enum Notification { LinkUp = 0, LinkDown, HardwareError, TxClockError, RxClockError, AlignError, CksumError, TxOversize, RxOversize, TxOverflow, RxOverflow, TxUnderrun, RxUnderrun, }
- enum PacketType { Unknown = 0, SS7Fisu, SS7Lssu, SS7Msu, Q921 }

#### Public Methods

- inline SignallingInterface ()
- virtual ~SignallingInterface ()
- virtual void attach (SignallingReceiver* receiver)
- inline SignallingReceiver* receiver () const
- virtual bool control (Operation oper, NamedList* params = 0)

#### Public Members

- static const TokenDict s_notifName[]

#### Protected Methods

- virtual bool transmitPacket (const DataBlock& packet, bool repeat, PacketType type)
- bool receivedPacket (const DataBlock& packet)
- bool notify (Notification event)

## Detailed Description

An interface to an abstraction of a Layer 1 (hardware HDLC) interface

enum Operation { Specific = 0, EnableTx = 0x01, EnableRx = 0x02, Enable = 0x03, DisableTx = 0x04, DisableRx = 0x08, Disable = 0x0c, FlushTx = 0x10, FlushRx = 0x20, Flush = 0x30, QueryTx = 0x40, QueryRx = 0x80, Query = 0xc0 } | ### Operation

Interface control operations

enum Notification { LinkUp = 0, LinkDown, HardwareError, TxClockError, RxClockError, AlignError, CksumError, TxOversize, RxOversize, TxOverflow, RxOverflow, TxUnderrun, RxUnderrun, } | ### Notification

Interface generated notifications

enum PacketType { Unknown = 0, SS7Fisu, SS7Lssu, SS7Msu, Q921 } | ### PacketType

Packet types

inline SignallingInterface () | ### SignallingInterface

Constructor

~SignallingInterface () | ### ~SignallingInterface

[virtual]

Destructor, stops and detaches the interface

void attach (SignallingReceiver* receiver) | ### attach

[virtual]

Attach a receiver to the interface. Detach from the old one if valid

Parameters:

receiver | Pointer to receiver to attach

inline SignallingReceiver* receiver () | ### receiver

[const]

Retrieve the signalling receiver attached to this interface

Returns: Pointer to attached receiver, NULL if none

bool control (Operation oper, NamedList* params = 0) | ### control

[virtual]

Execute a control operation. Operations can enable, disable or flush the transmitter, receiver or both. The status (enabled/disabled) can be queried and also interface-specific operations can be executed.

Parameters:

oper | Operation to execute
params | Optional parameters for the operation

Returns: True if the command completed successfully, for query operations also indicates the interface is enabled and operational

Reimplemented from SignallingComponent.

static const TokenDict s_notifName[] | ### s_notifName[]

bool transmitPacket (const DataBlock& packet, bool repeat, PacketType type) | ### transmitPacket

[protected pure virtual]

Transmit a packet over the hardware interface

Parameters:

packet | Packet data to send
repeat | Continuously send a copy of the packet while no other data is available for transmission
type | Type of the packet to send

Returns: True if the interface accepted the packet

bool receivedPacket (const DataBlock& packet) | ### receivedPacket

[protected]

Push a valid received Signalling Packet up the protocol stack. The starting and ending flags and any CRC are not part of the data.

Returns: True if packet was successfully delivered to the receiver

bool notify (Notification event) | ### notify

[protected]

Generate a notification event to the attached receiver

Parameters:

event | Notification event to be reported

Returns: True if notification was accepted by the receiver

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.