4#ifndef _Stroika_Frameworks_UPnP_DeviceDescription_h_
5#define _Stroika_Frameworks_UPnP_DeviceDescription_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
10#include "Stroika/Foundation/Common/Common.h"
11#include "Stroika/Foundation/Containers/Collection.h"
13#include "Stroika/Foundation/DataExchange/ObjectVariantMapper.h"
14#include "Stroika/Foundation/Execution/LazyInitialized.h"
26namespace Stroika::Frameworks::UPnP {
42 optional<URI> fPresentationURL;
46 optional<URI> fManufacturingURL;
47 optional<String> fModelDescription;
49 optional<String> fModelNumber;
50 optional<URI> fModelURL;
51 optional<String> fSerialNumber;
64 optional<String> fUPC;
73 uint16_t fHorizontalPixels{16};
74 uint16_t fVerticalPixels{16};
75 uint16_t fColorDepth{8};
83 optional<Collection<Icon>> fIcons;
97 nonvirtual
String ToString ()
const;
99 optional<Collection<Service>> fServices;
133#include "DeviceDescription.inl"
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A Collection<T> is a container to manage an un-ordered collection of items, without equality defined ...
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...
value-object, where the value construction is delayed until first needed (can be handy to avoid c++ i...
nonvirtual String ToString() const
nonvirtual String ToString() const
static const Foundation::Execution::LazyInitialized< Foundation::DataExchange::ObjectVariantMapper > kMapper