ActiveLib
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
active::serialise::xml::XMLValueSetting Class Reference

#include <XMLValueSetting.h>

Inheritance diagram for active::serialise::xml::XMLValueSetting:
Inheritance graph
[legend]
Collaboration diagram for active::serialise::xml::XMLValueSetting:
Collaboration graph
[legend]

Public Types

enum  FieldIndex {
  name , valGuid , columns , type ,
  className , value
}
 Serialisaton fields.
 
using base = std::reference_wrapper<setting::ValueSetting>
 
- Public Types inherited from active::serialise::Package
using Unique = std::unique_ptr<Package>
 Unique pointer.
 
using Shared = std::shared_ptr<Package>
 Shared pointer.
 
- Public Types inherited from active::serialise::Cargo
using Unique = std::unique_ptr<Cargo>
 Unique pointer.
 
using Shared = std::shared_ptr<Cargo>
 Shared pointer.
 
using size_type = std::string::size_type
 Class size type.
 
using sizeOption = std::optional<size_type>
 Optional size type (used to indicate an unspecified or non-existant position)
 

Public Member Functions

 XMLValueSetting (setting::ValueSetting &setting, bool isTyped=false, std::optional< utility::String > className=std::nullopt)
 
 XMLValueSetting (const setting::ValueSetting &setting, bool isTyped=false, std::optional< utility::String > className=std::nullopt)
 
 XMLValueSetting (setting::ValueSetting &setting, const utility::String &customTag, bool isTyped=false, std::optional< utility::String > className=std::nullopt)
 
 XMLValueSetting (const setting::ValueSetting &setting, const utility::String &customTag, bool isTyped=false, std::optional< utility::String > className=std::nullopt)
 
virtual bool fillInventory (Inventory &inventory) const override
 
virtual Cargo::Unique getCargo (const Inventory::Item &item) const override
 
virtual void setDefault () override
 
virtual bool validate () override
 
virtual bool insert (Cargo::Unique &&cargo, const Inventory::Item &item) override
 
- Public Member Functions inherited from active::serialise::Package
bool isRoot () const
 
virtual bool isAttributeFirst () const
 
virtual bool read (const utility::String &source)
 
void setRoot (bool state)
 
virtual bool finaliseAttributes ()
 
- Public Member Functions inherited from active::serialise::Cargo
 Cargo ()
 
 Cargo (const Cargo &source)
 
virtual ~Cargo ()=default
 
virtual void clear ()
 

Static Public Attributes

static utility::String tag = "setting"
 The default element tag.
 

Detailed Description

A serialisation wrapper for a setting containing a value, e.g. string, bool etc (potentially multiple values)

Constructor & Destructor Documentation

◆ XMLValueSetting() [1/4]

XMLValueSetting::XMLValueSetting ( setting::ValueSetting & setting,
bool isTyped = false,
std::optional< utility::String > className = std::nullopt )

Constructor

Parameters
settingThe setting to wrap for (de)serialisation
isTypedTrue if the value is serialised as a specific type
classNameOptional class name for the value container
Here is the call graph for this function:

◆ XMLValueSetting() [2/4]

active::serialise::xml::XMLValueSetting::XMLValueSetting ( const setting::ValueSetting & setting,
bool isTyped = false,
std::optional< utility::String > className = std::nullopt )
inline

Constructor

Parameters
settingThe setting to wrap for (de)serialisation
isTypedTrue if the value is serialised as a specific type
classNameOptional class name for the value container

◆ XMLValueSetting() [3/4]

XMLValueSetting::XMLValueSetting ( setting::ValueSetting & setting,
const utility::String & customTag,
bool isTyped = false,
std::optional< utility::String > className = std::nullopt )

Constructor

Parameters
settingThe setting to wrap for (de)serialisation
customTagA custom tag (overrides the default tag)
isTypedTrue if the value is serialised as a specific type
classNameOptional class name for the value container
Here is the call graph for this function:

◆ XMLValueSetting() [4/4]

active::serialise::xml::XMLValueSetting::XMLValueSetting ( const setting::ValueSetting & setting,
const utility::String & customTag,
bool isTyped = false,
std::optional< utility::String > className = std::nullopt )
inline

Constructor

Parameters
settingThe setting to wrap for (de)serialisation
customTagA custom tag (overrides the default tag)
isTypedTrue if the value is serialised as a specific type
classNameOptional class name for the value container

Member Function Documentation

◆ fillInventory()

bool XMLValueSetting::fillInventory ( Inventory & inventory) const
overridevirtual

Fill an inventory with the package items

Parameters
inventoryThe inventory to receive the package items
Returns
True if the package has added items to the inventory

Implements active::serialise::Cargo.

Here is the call graph for this function:

◆ getCargo()

Cargo::Unique XMLValueSetting::getCargo ( const Inventory::Item & item) const
overridevirtual

Get the specified cargo

Parameters
itemThe inventory item to retrieve
Returns
The requested cargo (nullptr on failure)

Implements active::serialise::Cargo.

◆ insert()

bool XMLValueSetting::insert ( Cargo::Unique && cargo,
const Inventory::Item & item )
overridevirtual

Insert specified cargo into the package - used for cargo with many instances sharing the same ID (e.g. from an array/map)

Parameters
cargoThe cargo to insert
itemThe inventory item linked with the cargo
Returns
True if the cargo was accepted (false will trigger an import failure - simply discard if this is not an error)

Reimplemented from active::serialise::Package.

◆ setDefault()

void XMLValueSetting::setDefault ( )
overridevirtual

Set to the default package content

Reimplemented from active::serialise::Package.

Here is the call graph for this function:

◆ validate()

bool XMLValueSetting::validate ( )
overridevirtual

Validate the cargo data

Returns
True if the data has been validated

Reimplemented from active::serialise::Cargo.

Here is the call graph for this function:

The documentation for this class was generated from the following files: