Software and Services, Portable Libraries  2019.Mar.01
A library for managing digital certificates
SoftwareAndServices::Library::iCalendar::period Class Reference

An RFC-iCalendar PERIOD value. More...

#include </home/doug/src/SoftwareAndServices/libSaSiCalendar/period.hpp>

+ Inheritance diagram for SoftwareAndServices::Library::iCalendar::period:
+ Collaboration diagram for SoftwareAndServices::Library::iCalendar::period:

Classes

struct  pvalue_t
 

Public Types

enum  quote_errors { NO_END_QUOTE_e = 1, NO_DATA_PROVIDED_e, UNKNOWN_BACKSLASH_ESCAPE_e, NO_TERM_FOUND_e }
 These are C++ objects that can be thrown as errors. More...
 

Public Member Functions

 period ()
 period Constructor. More...
 
 period (const date_time *start, const date_time *end=NULL)
 period Constructor. More...
 
 period (const date_time *start, const dur_value *length)
 period Constructor. More...
 
virtual ~period ()
 period Destructor. More...
 
virtual InstanceCount_t decInstance () const
 Decrement the instance. More...
 
long long get (unsigned int nTh) const
 Get the period of time in seconds. More...
 
const valuegetData () const
 Get the pointer to the data being stored. More...
 
virtual InstanceCount_t getInstance () const
 
Tokens_t getType () const
 Get the type of data being stored. More...
 
const char * getXValueType () const
 Get the type of data being stored. More...
 
virtual InstanceCount_t incInstance () const
 Increment the instance. More...
 
bool isStartEnd (unsigned int nTh) const
 Is this a start/end (verses a start/duration) period. More...
 
void operator delete (void *data)
 This class uses instance counting, this entry point overloads the default delete() operator in order to correctly track the instance. More...
 
bool operator!= (const period *Other)
 period != operator. More...
 
bool operator!= (const period &Other)
 period != operator. More...
 
bool operator< (const period *Other)
 period < operator. More...
 
bool operator< (const period &Other)
 period < operator. More...
 
bool operator<= (const period *Other)
 period < operator. More...
 
bool operator<= (const period &Other)
 period < operator. More...
 
bool operator== (const period *Other)
 period == operator. More...
 
bool operator== (const period &Other)
 period == operator. More...
 
bool operator> (const period *Other)
 period < operator. More...
 
bool operator> (const period &Other)
 period < operator. More...
 
bool operator>= (const period *Other)
 period < operator. More...
 
bool operator>= (const period &Other)
 period < operator. More...
 
bool parse (Parse &in, component *errors)
 #Parse a period value. More...
 
bool parse (const char *in, component *errors)
 #Parse an period value. More...
 
void setData (void *DataPtr)
 Set the data to the data being stored. More...
 
void setType (Tokens_t Token)
 Set the type of data being stored. More...
 
void setXValueType (const char *xValType)
 Set the type of data being stored - non-standard types only. More...
 
virtual bool sprint (String *Results) const
 Print the object in RFC-iCalendar format. More...
 

Static Public Member Functions

static char * addQuotes (const char *text)
 Add quotes to the value. More...
 
static char * escape (const char *text)
 Escape a value and return an RFC-iCalendar value encoded. More...
 
static char * removeQuotes (const char *text)
 Remove quotes from a user supplied value so that the raw data can be stored. More...
 
static bool sprintTokensAsText (String *Results, Tokens_t token)
 Called by text2token() to get the token name as a String. More...
 
static char * unescape (const char *text, const char *term)
 Un-escape a value and return what a user originally entered. More...
 

Static Public Attributes

static const char ** tokenStrings
 A list of strings for the names of tokens. More...
 

Protected Member Functions

pvalue_tgetData (unsigned int nTh) const
 Get the object data. More...
 

Protected Attributes

bool _isStarEnd
 
vector< pvalue_t * > * _values
 

Detailed Description

An RFC-iCalendar PERIOD value.

Definition at line 81 of file period.hpp.

Member Enumeration Documentation

◆ quote_errors

These are C++ objects that can be thrown as errors.

Definition at line 204 of file BaseValueType.hpp.

Constructor & Destructor Documentation

◆ period() [1/3]

SoftwareAndServices::Library::iCalendar::period::period ( )

period Constructor.

◆ period() [2/3]

SoftwareAndServices::Library::iCalendar::period::period ( const date_time start,
const date_time end = NULL 
)

period Constructor.

Parameters
startThe start date_time of the period.
endThe end date_time of the period.

◆ period() [3/3]

SoftwareAndServices::Library::iCalendar::period::period ( const date_time start,
const dur_value length 
)

period Constructor.

Parameters
startThe start date_time of the period.
lengththe duration of the period.

◆ ~period()

virtual SoftwareAndServices::Library::iCalendar::period::~period ( )
virtual

period Destructor.

Member Function Documentation

◆ addQuotes()

static char* SoftwareAndServices::Library::iCalendar::BaseValueType::addQuotes ( const char *  text)
staticinherited

Add quotes to the value.

Caller MUST free results.

Parameters
textThe text to be de-quoted.
Returns
The de-quoted data.

◆ decInstance()

virtual InstanceCount_t SoftwareAndServices::Library::Common::instance< BaseValueType >::decInstance ( ) const
inlinevirtualinherited

Decrement the instance.

Returns
The instance count, after decrementing it.

Reimplemented in SoftwareAndServices::Library::iCalendar::date_time.

Definition at line 129 of file instance.hpp.

◆ escape()

static char* SoftwareAndServices::Library::iCalendar::BaseValueType::escape ( const char *  text)
staticinherited

Escape a value and return an RFC-iCalendar value encoded.

Caller MUST free results.

Parameters
textthe text to escape.
Returns
The escaped string.

◆ get()

long long SoftwareAndServices::Library::iCalendar::period::get ( unsigned int  nTh) const

Get the period of time in seconds.

Parameters
nThOf the nTh value set.
Returns
The number of seconds in this period.

◆ getData() [1/2]

const value* SoftwareAndServices::Library::iCalendar::BaseValueType::getData ( ) const
inherited

Get the pointer to the data being stored.

Returns
Pointer to the data being stored.

◆ getData() [2/2]

pvalue_t* SoftwareAndServices::Library::iCalendar::period::getData ( unsigned int  nTh) const
protected

Get the object data.

Parameters
nThWhich object value set to get (first is zero.).
Returns
A pvalue_t of the data.

◆ getInstance()

virtual InstanceCount_t SoftwareAndServices::Library::Common::instance< BaseValueType >::getInstance ( ) const
inlinevirtualinherited
Returns
The current instance count.

Definition at line 118 of file instance.hpp.

◆ getType()

Tokens_t SoftwareAndServices::Library::iCalendar::BaseValueType::getType ( ) const
inherited

Get the type of data being stored.

If it returns Unknown_t, call getXType()

Returns
The type of data being stored.
See also
getXValueType()

◆ getXValueType()

const char* SoftwareAndServices::Library::iCalendar::BaseValueType::getXValueType ( ) const
inherited

Get the type of data being stored.

If it returns NULL, call getType()

Returns
The type of data being stored as a string.
See also
geXValueType()

◆ incInstance()

virtual InstanceCount_t SoftwareAndServices::Library::Common::instance< BaseValueType >::incInstance ( ) const
inlinevirtualinherited

Increment the instance.

Returns
The instance value, after incrementing it.

Reimplemented in SoftwareAndServices::Library::iCalendar::date_time.

Definition at line 109 of file instance.hpp.

◆ isStartEnd()

bool SoftwareAndServices::Library::iCalendar::period::isStartEnd ( unsigned int  nTh) const

Is this a start/end (verses a start/duration) period.

Parameters
nThThe nTh value set to check (first is offset zero).
Returns
TRUE when the period has a date_time for both the start and end times.

◆ operator delete()

void SoftwareAndServices::Library::iCalendar::BaseValueType::operator delete ( void *  data)
inherited

This class uses instance counting, this entry point overloads the default delete() operator in order to correctly track the instance.

◆ operator!=() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::operator!= ( const period Other)

period != operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when they are NOT equal.

◆ operator!=() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::operator!= ( const period Other)

period != operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when they NOT are equal.

◆ operator<() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::operator< ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is less than Other.

◆ operator<() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::operator< ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is less than Other.

◆ operator<=() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::operator<= ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is less than or equal to Other.

◆ operator<=() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::operator<= ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is less than or equal to Other.

◆ operator==() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::operator== ( const period Other)

period == operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when they are equal.

◆ operator==() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::operator== ( const period Other)

period == operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when they are equal.

◆ operator>() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::operator> ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is greater than Other.

◆ operator>() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::operator> ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is greater than Other.

◆ operator>=() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::operator>= ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is greater than or equal to Other.

◆ operator>=() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::operator>= ( const period Other)

period < operator.

Parameters
Otherthe other object to compare to.
Returns
TRUE when this is greater than or equal to Other.

◆ parse() [1/2]

bool SoftwareAndServices::Library::iCalendar::period::parse ( Parse in,
component errors 
)

#Parse a period value.

Parameters
inAn open Parse object.
errorsWhere to put any parsing errors.
Returns
TRUE when parsed successfully.

◆ parse() [2/2]

bool SoftwareAndServices::Library::iCalendar::period::parse ( const char *  in,
component errors 
)

#Parse an period value.

Parameters
inAn RFC-iCalendar period string value.
errorsWhere to put any parsing errors.
Returns
TRUE when parsed successfully.

◆ removeQuotes()

static char* SoftwareAndServices::Library::iCalendar::BaseValueType::removeQuotes ( const char *  text)
staticinherited

Remove quotes from a user supplied value so that the raw data can be stored.

Caller MUST free results.

Parameters
textThe text to be de-quoted. No harm if it does not already contain quotes.
Returns
The de-quoted data.

◆ setData()

void SoftwareAndServices::Library::iCalendar::BaseValueType::setData ( void *  DataPtr)
inherited

Set the data to the data being stored.

Parameters
DataPtrPointer to the data.

◆ setType()

void SoftwareAndServices::Library::iCalendar::BaseValueType::setType ( Tokens_t  Token)
inherited

Set the type of data being stored.

If the type is not a predefined one, call setXValueType()

Parameters
TokenThe type of data being stored.
See also
setXValueType()

◆ setXValueType()

void SoftwareAndServices::Library::iCalendar::BaseValueType::setXValueType ( const char *  xValType)
inherited

Set the type of data being stored - non-standard types only.

If the type is a predefined one, call setValueType()

Parameters
xValTypeThe type of data being stored as a string.
See also
setValueType()

◆ sprint()

virtual bool SoftwareAndServices::Library::iCalendar::period::sprint ( String Results) const
virtual

Print the object in RFC-iCalendar format.

Parameters
ResultsAppend the results to Results.
Returns
TRUE when data was appended.

Implements SoftwareAndServices::Library::iCalendar::BaseValueType.

◆ sprintTokensAsText()

static bool SoftwareAndServices::Library::iCalendar::BaseValueType::sprintTokensAsText ( String Results,
Tokens_t  token 
)
staticinherited

Called by text2token() to get the token name as a String.

Parameters
ResultsThe token name as a String.
tokenThe token to convert to a string.
Returns
TRUE when something appended to Results.

◆ unescape()

static char* SoftwareAndServices::Library::iCalendar::BaseValueType::unescape ( const char *  text,
const char *  term 
)
staticinherited

Un-escape a value and return what a user originally entered.

Caller MUST delete results when done. The string would have been encoded as an RFC-iCalendar value encoding.

Parameters
textthe text to un-escape.
termA string to be used as the data separator. This value is passed to strpbrk().
Returns
The un-escaped string.

Member Data Documentation

◆ tokenStrings

const char** SoftwareAndServices::Library::iCalendar::BaseValueType::tokenStrings
staticinherited

A list of strings for the names of tokens.

The token value used as an offset into this array is the name of the token as a string.

The strings "X_COMP", "X_PROP", and "XPARAM" ARE included. Strings matching X_COMP, X_PROP, and XPARAM values are not included.

Definition at line 144 of file BaseValueType.hpp.


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