4#include "Stroika/Frameworks/StroikaPreComp.h"
14using namespace Stroika::Frameworks;
15using namespace Stroika::Frameworks::UPnP;
25 {
"Alive"sv, &Device::fDeviceID},
26 {
"USN"sv, &Device::fLocation},
27 {
"Server"sv, &Device::fServer},
37String UPnP::MungePrimaryMacAddrIntoBaseDeviceID (
String baseDeviceID)
39 Require (baseDeviceID.
length () == 36);
40 String result = baseDeviceID;
41 String macAddr = IO::Network::GetPrimaryNetworkDeviceMacAddress ();
43 if (macAddr.
length () > 12) {
46 while (macAddr.
length () < 12) {
47 macAddr = macAddr +
"0"sv;
49 result = baseDeviceID.
SubString (0, 36 - 12) + macAddr;
50 Ensure (result.
length () == 36);
String is like std::u32string, except it is much easier to use, often much more space efficient,...
nonvirtual size_t length() const noexcept
nonvirtual String ToLowerCase() const
nonvirtual String ReplaceAll(const RegularExpression ®Ex, const String &with) const
nonvirtual String SubString(SZ from) const
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...
nonvirtual void AddClass(const Traversal::Iterable< StructFieldInfo > &fieldDescriptions, const ClassMapperOptions< CLASS > &mapperOptions={})
static const Foundation::DataExchange::ObjectVariantMapper kMapper