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

Class for transporting a data/time via XML. More...

#include <XMLDateTime.h>

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

Public Types

enum class  Format { iso8601 , secondsSince1970 }
 Preferred JSON date/time format. More...
 
enum class  Content {
  dateTime , dateOnly , timeOnly , dateTimeWithOffset ,
  timeOnlyWithOffset
}
 The date/time content, i.e. just a date, just a time, date & time etc. Ignored for secondsSince1970 format.
 
- Public Types inherited from active::serialise::Item
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

 XMLDateTime (utility::Time &time, Content content=Content::dateTimeWithOffset, double prec=1e-6)
 
virtual const utility::TimegetTime () const
 
double getSecondsPrecision () const
 
virtual Format getFormat () const
 
virtual Content getContent () const
 
virtual bool isRead () const
 
virtual bool write (utility::String &dest) const override
 
void setSecondsPrecision (double prec)
 
virtual void setFormat (Format format)
 
virtual void setContent (Content content)
 
virtual void setDefault () override
 
virtual bool validate () override
 
virtual bool read (const utility::String &source) override
 
- Public Member Functions inherited from active::serialise::Item
virtual bool fillInventory (Inventory &inventory) const
 
virtual Cargo::Unique getCargo (const Inventory::Item &item) const
 
virtual std::optional< Type > type () const
 
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 ()
 

Detailed Description

Class for transporting a data/time via XML.

Member Enumeration Documentation

◆ Format

Preferred JSON date/time format.

Enumerator
iso8601 

ISO 8601.

secondsSince1970 

Unix (posix) epoch.

Constructor & Destructor Documentation

◆ XMLDateTime()

XMLDateTime::XMLDateTime ( utility::Time & time,
Content content = Content::dateTimeWithOffset,
double prec = 1e-6 )

Constructor

Parameters
timeA time
contentThe date/time content
precThe seconds precision (e.g. 1e-6 for microsecond precision, 1.0 for whole seconds only)

Member Function Documentation

◆ getContent()

virtual Content active::serialise::xml::XMLDateTime::getContent ( ) const
inlinevirtual

Get the content of the date/time

Returns
The content of the date/time

◆ getFormat()

virtual Format active::serialise::xml::XMLDateTime::getFormat ( ) const
inlinevirtual

Get the date/time format

Returns
The date/time format

◆ getSecondsPrecision()

double active::serialise::xml::XMLDateTime::getSecondsPrecision ( ) const
inline

Get the precision for seconds (e.g. 1e-6 for microsecond precision, 1.0 for whole seconds only)

Returns
The seconds precision

◆ getTime()

virtual const utility::Time & active::serialise::xml::XMLDateTime::getTime ( ) const
inlinevirtual

Get the time

Returns
The time

◆ isRead()

virtual bool active::serialise::xml::XMLDateTime::isRead ( ) const
inlinevirtual

Determine if a time has been read

Returns
True if a time has been read

◆ read()

bool XMLDateTime::read ( const utility::String & source)
overridevirtual

Read the item data from the specified string

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

Implements active::serialise::Item.

Here is the call graph for this function:

◆ setContent()

virtual void active::serialise::xml::XMLDateTime::setContent ( Content content)
inlinevirtual

Set the content of the date/time

Parameters
contentThe content of the date/time

◆ setDefault()

void XMLDateTime::setDefault ( )
overridevirtual

Set to the default package content

Implements active::serialise::Cargo.

Here is the call graph for this function:

◆ setFormat()

virtual void active::serialise::xml::XMLDateTime::setFormat ( Format format)
inlinevirtual

Set the date/time format

Parameters
formatThe date/time format

◆ setSecondsPrecision()

void active::serialise::xml::XMLDateTime::setSecondsPrecision ( double prec)
inline

Set the precision for seconds (e.g. 1e-6 for microsecond precision, 1.0 for whole seconds only)

Parameters
precThe seconds precision

◆ validate()

virtual bool active::serialise::xml::XMLDateTime::validate ( )
inlineoverridevirtual

Validate the transported data

Returns
True if the data is valid

Reimplemented from active::serialise::Cargo.

◆ write()

bool XMLDateTime::write ( utility::String & dest) const
overridevirtual

Write the item data to a string

Parameters
destThe string to write the const data to
Returns
True if the data was successfully written

Implements active::serialise::Item.

Here is the call graph for this function:

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