ActiveLib
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
active::serialise::Item Class Referenceabstract

#include <Item.h>

Inheritance diagram for active::serialise::Item:
Inheritance graph
[legend]
Collaboration diagram for active::serialise::Item:
Collaboration graph
[legend]

Public Types

enum class  Type { text , number , boolean }
 
- 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

virtual bool fillInventory (Inventory &inventory) const
 
virtual Cargo::Unique getCargo (const Inventory::Item &item) const
 
virtual bool write (utility::String &dest) const =0
 
virtual std::optional< Type > type () const
 
virtual bool read (const utility::String &source)=0
 
virtual bool read (const setting::Value &source)
 
- Public Member Functions inherited from active::serialise::Cargo
 Cargo ()
 
 Cargo (const Cargo &source)
 
virtual ~Cargo ()=default
 
virtual void clear ()
 
virtual void setDefault ()=0
 
virtual bool validate ()
 

Detailed Description

Interface for unary data items (representing a single value like String, double etc) enabling serialise for transport

Member Function Documentation

◆ fillInventory()

virtual bool active::serialise::Item::fillInventory ( Inventory & inventory) const
inlinevirtual

Fill an inventory with the cargo items. NB: Most items rely on the enclosing package to do this, so returns false by default

Parameters
inventoryThe inventory to receive the cargo items
Returns
True if items have been added to the inventory

Implements active::serialise::Cargo.

Reimplemented in active::serialise::ItemWrap.

◆ getCargo()

virtual Cargo::Unique active::serialise::Item::getCargo ( const Inventory::Item & item) const
inlinevirtual

Get the specified cargo. NB: Most items rely on the enclosing package to do this, so returns nullptr by default

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

Implements active::serialise::Cargo.

Reimplemented in active::serialise::ItemWrap.

◆ read() [1/2]

bool Item::read ( const setting::Value & source)
virtual

Read the cargo data from the specified setting

Parameters
sourceThe setting to read
Returns
True if the data was successfully read

Reimplemented in active::serialise::AnyValueWrap, active::serialise::ValueWrap< T >, and active::serialise::ValueWrap< double >.

Here is the call graph for this function:

◆ read() [2/2]

virtual bool active::serialise::Item::read ( const utility::String & source)
pure virtual

◆ type()

virtual std::optional< Type > active::serialise::Item::type ( ) const
inlinevirtual

◆ write()

virtual bool active::serialise::Item::write ( utility::String & dest) const
pure virtual

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