Stroika Library 3.0d25
 
Loading...
Searching...
No Matches
ServiceDescription.h File Reference
#include "Stroika/Frameworks/StroikaPreComp.h"
#include "Stroika/Foundation/Characters/String.h"
#include "Stroika/Foundation/Containers/Sequence.h"
#include "Stroika/Foundation/DataExchange/XML/Options.h"
#include "Stroika/Foundation/DataExchange/XML/Schema.h"
#include "Stroika/Foundation/Memory/BLOB.h"

Go to the source code of this file.

Classes

struct  Stroika::Frameworks::UPnP::ServiceDescription
 A service's description - its SCPD (UPnP Device Architecture 1.1, section 2.5): its actions, each with its arguments, and its state variables - what the SCPDURL in its device's description serves. More...
 
struct  Stroika::Frameworks::UPnP::ServiceDescription::Argument
 
struct  Stroika::Frameworks::UPnP::ServiceDescription::AllowedValueRange
 
struct  Stroika::Frameworks::UPnP::ServiceDescription::StateVariable
 
struct  Stroika::Frameworks::UPnP::ServiceDescription::Options
 What Serialize and DeSerialize of an SCPD are told - defaulted, so a caller says only what it wants different. As DeviceDescription::Options, for the SCPD's own schema: by default what is written is checked, and what is read is not. More...
 

Functions

Foundation::Memory::BLOB Stroika::Frameworks::UPnP::Serialize (const ServiceDescription &sd, const ServiceDescription::Options &options={})
 The SCPD's XML: what its SCPDURL serves - as UPnP's XML (text/xml), UTF-8.
 
void Stroika::Frameworks::UPnP::DeSerialize (const Foundation::Memory::BLOB &b, ServiceDescription *sd, const ServiceDescription::Options &options={})
 An SCPD read - what Serialize writes, and any other's, leniently: what it does not know - a vendor's own elements, say - is skipped, and an element given twice keeps its last. Throws if it is not XML, its document element is not <scpd>, or the build has no XML parser (qStroika_Foundation_DataExchange_XML_SupportParsing).
 

Detailed Description

Note
Code-Status: Alpha

Definition in file ServiceDescription.h.

Function Documentation

◆ Serialize()

Memory::BLOB Stroika::Frameworks::UPnP::Serialize ( const ServiceDescription &  sd,
const ServiceDescription::Options &  options = {} 
)

The SCPD's XML: what its SCPDURL serves - as UPnP's XML (text/xml), UTF-8.

The text is written directly (Variant::XML::Writer); an XML parser only checks it, as by default it does - throwing BadFormatException where it does not hold (

See also
ServiceDescription::Options::fValidateWrite).

Definition at line 263 of file ServiceDescription.cpp.

◆ DeSerialize()

void Stroika::Frameworks::UPnP::DeSerialize ( const Foundation::Memory::BLOB &  b,
ServiceDescription *  sd,
const ServiceDescription::Options &  options = {} 
)

An SCPD read - what Serialize writes, and any other's, leniently: what it does not know - a vendor's own elements, say - is skipped, and an element given twice keeps its last. Throws if it is not XML, its document element is not <scpd>, or the build has no XML parser (qStroika_Foundation_DataExchange_XML_SupportParsing).

See also
Variant::XML::Reader::Options::fLenient

Definition at line 282 of file ServiceDescription.cpp.