Go to the documentation of this file.
135 device = (i->second)(*
this, comm);
143 device = (j->second)(comm);
162 if (communicator !=
nullptr)
171 JLWRITEG(
"Created master device with id: " << constructedDevice->
deviceId() <<
" and firmware version: " << constructedDevice->
firmwareVersion().toString());
173 return constructedDevice;
177 if (constructedDevice)
191 if (deviceId.isMti() || deviceId.isMtig())
193 if (deviceId.isMtig())
195 if (deviceId.isMtiX00())
197 if (deviceId.isMtiX0())
199 if (deviceId.isMtiX() && deviceId.isGnss())
201 if (deviceId.isMtiX())
203 if (deviceId.isMti3X0())
205 if (deviceId.isMti6X0())
207 if (deviceId.isMti8X0())
209 if (deviceId.isDot())
static const DeviceFactory::DeviceTypeId MTI_X0
bool isInitialized() const
Returns true when the device is initialized.
static const DeviceFactory::DeviceTypeId DOT
XsDeviceId const & deviceId() const
Return the device ID of the device.
static const DeviceFactory::DeviceTypeId MTI_X00
static const DeviceFactory::DeviceTypeId MTI_3X0
static const DeviceFactory::DeviceTypeId MTI_7_MTI_8
static const DeviceFactory::DeviceTypeId MTIG
virtual void removeRef()
Decrease this XsDevices reference counter with 1.
static const DeviceFactory::DeviceTypeId MTI_6X0
virtual bool XSNOEXPORT initialize()
XsDeviceId masterDeviceId() const
virtual void removeExistingDevice(XsDeviceId const &deviceId)
Tell our device manager to remove any devices matching deviceId.
unsigned int DeviceTypeId
Provides the device type ID as unsigned int.
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
virtual DeviceTypeId deviceToTypeId(XsDeviceId const &deviceId) const
converts an XsDeviceId to an DeviceTypeId
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
bool registerStandaloneDeviceType(DeviceTypeId deviceTypeId, StandaloneConstructFunc constructFunc)
Registers a standalone device type. After registration, the factory is able to cerate an instance of ...
A base struct for a communication interface.
static const DeviceFactory::DeviceTypeId MTI_X
virtual void addRef()
Increase reference count of XsDevice pointer XsDevice pointers stay alive while reference counter is ...
virtual XsVersion firmwareVersion() const
Return the firmware version.
virtual XsDevice * createMasterDevice(Communicator *communicator, bool doInitialize=true)
Creates and initializes a master device with a specified communicator. The type of the new device is ...
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
static const DeviceFactory::DeviceTypeId INVALID
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
virtual XsDevice * constructDevice(DeviceTypeId deviceTypeId, Communicator *comm)
Constructs a master device of a specified deviceTypeId with a specified communicator....
Contains an Xsens device ID and provides operations for determining the type of device.
std::map< DeviceTypeId, StandaloneConstructFunc > m_standaloneConstructors
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
std::map< DeviceTypeId, MasterConstructFunc > m_masterConstructors
DeviceFactory()
Default constructor.
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
bool registerMasterDeviceType(DeviceTypeId deviceTypeId, MasterConstructFunc constructFunc)
Registers a master device type. After registration, the factory is able to cerate an instance of the ...
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.
void destroy()
Destroys the communicator.
virtual void registerDevices()
register all known device types
bool initializeDevice(XsDevice &device) const
Initializes a device (if not already initialized)
static const DeviceFactory::DeviceTypeId MTI_8X0
static XsDevice * constructStandalone(Communicator *comm)
Constructs a standalone device using a provided communicator.