#include "Helper.h"
#include <wzcpp/features/utils.h>
#include <iostream>
#include <memory>
using namespace wz::baos::ip;
namespace
{
Buffer encodeServerItem_bool(
bool value)
{
Buffer data(1, value ? 0x01 : 0x00);
return data;
}
Buffer encodeServerItem_string(
const std::string& value)
{
Buffer data(value.begin(), value.end());
data.resize(30, 0);
return data;
}
}
int main(int argc, char* argv[])
{
try
{
std::cout << "******************************************" << std::endl;
std::cout << "SetServerItem sample" << std::endl;
std::cout << "******************************************" << std::endl;
std::cout << std::endl;
CommandLineOptions options;
options.parse(argc, argv);
if (options.wasHelpdisplayed())
{
return 0;
}
const std::string ipAddress = options.getIpAddress();
std::cout << " Connection requested for " << ipAddress << std::endl;
BaosTcpConnection connection;
connection.open(ipAddress);
const auto backup = connection.getServerItem(ServerItemId::DeviceFriendlyName);
if (backup.has_value())
{
ServerItem deviceNameItem(ServerItemId::DeviceFriendlyName, 30, encodeServerItem_string("Hello BAOS"));
connection.setServerItem(deviceNameItem);
connection.setServerItem(*backup);
}
else
{
std::cerr << "Unable to read ServerItem ServerItemId::DeviceFriendlyName" << std::endl;
}
ServerItem progModeItem(ServerItemId::ProgrammingMode, 1, encodeServerItem_bool(true));
connection.setServerItem(progModeItem);
progModeItem.data = encodeServerItem_bool(false);
connection.setServerItem(progModeItem);
}
catch (const std::exception& e)
{
std::cerr << "Failed: " << e.what() << std::endl;
return -1;
}
return 0;
}
Specialization for a TCP IP v4 BAOSConnection.
Global BAOS protocol defines and types.
Global BAOS SDK function and options.
Groups BAOS binary protocol specific types , defines and classes for Indications, Responses etc.
Definition: Defines.h:32
Global BAOS sdk namespace.
Definition: config.h:62
std::vector< std::uint8_t > Buffer
An alias type for a byte buffer.
Definition: config.h:64
void setBaosLogLevel(wzcpp::LogLevel level)