XDA communication factory. More...
#include <xdacommunicatorfactory.h>
Public Member Functions | |
Communicator * | create (const XsPortInfo &portInfo) const |
Create a communicator based on a port info. More... | |
Communicator * | create (const XsString &filename) const |
Create a communicator based on a filename. More... | |
void | registerCommunicatorTypes () override |
Register the communicator types. More... | |
XdaCommunicatorFactory () | |
Construct this factory. More... | |
![]() | |
CommunicatorFactory () | |
Create the factory. More... | |
Communicator * | create (const XsPortInfo &portInfo) const |
Create a communicator based on a port info. More... | |
Communicator * | create (const XsString &filename) const |
Create a communicator based on a filename. More... | |
bool | registerType (CommunicatorTypeId typeId, CommunicatorConstructFunc constructFunc, PortInfoMatchFunc matchFunc) |
Register a communicator type with the factory. More... | |
virtual | ~CommunicatorFactory () |
Destory the factory. More... | |
Protected Member Functions | |
virtual CommunicatorTypeId | filenameToCommunicatorId (const XsString &filename) const |
Match a filename to a communicator. More... | |
virtual CommunicatorTypeId | portInfoToCommunicatorId (const XsPortInfo &portInfo) const |
Match a XsPortInfo to a communicator. More... | |
![]() | |
virtual Communicator * | construct (CommunicatorTypeId communicator) const |
Construct a communicator based on typeId. More... | |
ConstructorsMap const & | constructors () const |
Additional Inherited Members | |
![]() | |
typedef Communicator *(* | CommunicatorConstructFunc) () |
The typedef of the communicator constructor function. More... | |
typedef unsigned int | CommunicatorTypeId |
The typedef of the communicator type ID. More... | |
typedef bool(* | PortInfoMatchFunc) (const XsPortInfo &) |
The typedef of the port info match function. More... | |
![]() | |
template<typename T > | |
static std::unique_ptr< T > | createFactory () |
Create a new CommunicatorFactory and register its basic types. More... | |
![]() | |
typedef std::map< CommunicatorTypeId, std::pair< CommunicatorConstructFunc, PortInfoMatchFunc > > | ConstructorsMap |
The typedef of a map for a communicator type ID and constructors map. More... | |
XDA communication factory.
Definition at line 70 of file xdacommunicatorfactory.h.
XdaCommunicatorFactory::XdaCommunicatorFactory | ( | ) |
Construct this factory.
Definition at line 83 of file xdacommunicatorfactory.cpp.
Communicator * CommunicatorFactory::create |
Create a communicator based on a port info.
Definition at line 88 of file communicatorfactory.cpp.
Communicator * CommunicatorFactory::create |
Create a communicator based on a filename.
Definition at line 96 of file communicatorfactory.cpp.
|
protectedvirtual |
Match a filename to a communicator.
filename | A name of file |
Implements CommunicatorFactory.
Definition at line 88 of file xdacommunicatorfactory.cpp.
|
protectedvirtual |
Match a XsPortInfo to a communicator.
portInfo | An information about the port |
Implements CommunicatorFactory.
Definition at line 99 of file xdacommunicatorfactory.cpp.
|
overridevirtual |
Register the communicator types.
Reimplemented from CommunicatorFactory.
Definition at line 128 of file xdacommunicatorfactory.cpp.