livoxProto1: Keep protocol headers pure;
Split the BroadcastListener, DiscoveredDevice and other concerns out of the protocol header and implementation files.
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#include <sstream>
|
||||
#include "livoxProto1Device.h"
|
||||
|
||||
namespace livoxProto1 {
|
||||
namespace comms {
|
||||
|
||||
// DiscoveredDevice constructors
|
||||
DiscoveredDevice::DiscoveredDevice(
|
||||
const std::string &deviceIdentifier,
|
||||
DeviceType deviceType,
|
||||
const std::string &ipAddr)
|
||||
: deviceIdentifier(deviceIdentifier),
|
||||
deviceType(deviceType),
|
||||
ipAddr(ipAddr)
|
||||
{
|
||||
}
|
||||
|
||||
DiscoveredDevice::DiscoveredDevice(
|
||||
const BroadcastMessage &msg, const std::string &ipAddr
|
||||
)
|
||||
: DiscoveredDevice(
|
||||
reinterpret_cast<const char*>(msg.broadcast_code),
|
||||
static_cast<DeviceType>(msg.dev_type),
|
||||
ipAddr)
|
||||
{
|
||||
}
|
||||
|
||||
std::string DiscoveredDevice::stringify(void) const
|
||||
{
|
||||
std::ostringstream oss;
|
||||
oss << "DiscoveredDevice{"
|
||||
<< "identifier='" << deviceIdentifier << "', "
|
||||
<< "ipAddr='" << ipAddr << "', "
|
||||
<< "deviceType=" << (int)deviceType << " (" << getDeviceTypeName() << ")"
|
||||
<< "}";
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
std::string DiscoveredDevice::getDeviceTypeName(void) const
|
||||
{
|
||||
switch (deviceType)
|
||||
{
|
||||
case DeviceType::Hub: return "Hub";
|
||||
case DeviceType::Mid40: return "Mid-40";
|
||||
case DeviceType::Tele15: return "Tele-15";
|
||||
case DeviceType::Horizon: return "Horizon";
|
||||
case DeviceType::Mid70: return "Mid-70";
|
||||
case DeviceType::Avia: return "Avia";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace comms
|
||||
|
||||
// Device implementation
|
||||
Device::Device(const comms::DiscoveredDevice &discoveredDevice)
|
||||
: discoveredDevice(discoveredDevice)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace livoxProto1
|
||||
|
||||
Reference in New Issue
Block a user