EchoLib
1.3.3
|
A class for handling incoming connections and dispatch active connections. More...
#include <EchoLinkDispatcher.h>
Public Member Functions | |
~Dispatcher (void) | |
Destructor. More... | |
Static Public Member Functions | |
static void | setPortBase (int base) |
Set the port base for the two UDP ports. More... | |
static void | setBindAddr (const Async::IpAddress &ip) |
Set the bind address for the two UDP ports. More... | |
static Dispatcher * | instance (void) |
Get the Singleton instance. More... | |
static void | deleteInstance (void) |
Delete the singleton object if it exists. More... | |
Public Attributes | |
sigc::signal< void, const Async::IpAddress &, const std::string &, const std::string &, const std::string & > | incomingConnection |
A signal that is emitted when someone is trying to connect. More... | |
Friends | |
class | Qso |
A class for handling incoming connections and dispatch active connections.
This is a class that listens to incoming packets on the two EchoLink UDP-ports. The incoming packets are dispatched to the associated connection object (EchoLink::Qso), if it exists. If the connection does not exist, a signal will be emitted to indicate that an incoming connection is on its way. The Qso objects will register themselfs automatically with the Dispatcher upon creation.
This class is a Singleton object. That is, there can be only one object. The constructor is private so the only way to create a Dispatcher object is to use the static method Dispatcher::instance. It will create a new object if it does not exist and return the object if it exists. On error, a NULL pointer will be returned.
Start your application by creating a Dispatcher object. It will then start to listen to the EchoLink ports for incoming connections. Also, be sure to check the returned pointer. If it is NULL, something went wrong. If it is not checked, you will have trouble later when creating Qso objects. So, a typical start in your application would be something like the code below.
Definition at line 144 of file EchoLinkDispatcher.h.
EchoLink::Dispatcher::~Dispatcher | ( | void | ) |
Destructor.
|
static |
Delete the singleton object if it exists.
|
static |
Get the Singleton instance.
This function should be used to get access to the Singleton dispatcher object. Every time access to the dispatcher object is required, this function should be used to get the pointer. It is illegal to store it in a variable at program startup and then use that variable. It is possible that the dispatcher is deleted at some point in a program. The stored pointer would then be invalid. It is ok to use a local temporary variable to make access more convenient if no calls are made to other functions that access the dispatcher.
|
static |
Set the bind address for the two UDP ports.
ip | The IP address to use |
This static function set the IP-address/interface to bind to for the two UDP communications ports. This may be necessary if the computer is fitted with more than one network interface and only one should be used for EchoLink. This function may only be called when a dispatcher object does not exist. Typically, call this function before calling the Dispatcher::instance function for the first time. If this function is not called at all, the dispatcher will bind to all available interfaces.
|
static |
Set the port base for the two UDP ports.
base | The port base to use |
This static function set the port base to use for the two UDP communications ports. This function may only be called when a dispatcher object does not exist. Typically, call this function before calling the Dispatcher::instance function for the first time. If this function is not called at all, the default ports will be used.
|
friend |
Definition at line 215 of file EchoLinkDispatcher.h.
sigc::signal<void, const Async::IpAddress&, const std::string&, const std::string&, const std::string&> EchoLink::Dispatcher::incomingConnection |
A signal that is emitted when someone is trying to connect.
callsign | The callsign of the connecting station |
name | The name of the connecting station |
priv | A private string for passing connection parameters |
This signal is emitted when a remote station tries to connect. It will be emitted every time a connect datagram is received.
Definition at line 210 of file EchoLinkDispatcher.h.