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

This class represents any iCalendar TEXT value type. More...

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

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

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

 text ()
 text Constructor - no data. More...
 
 text (const text *aValue)
 text Constructor - copy constructor. More...
 
 text (const char *aString, size_t Length=0)
 text Constructor More...
 
 text (String *aString)
 text Constructor More...
 
virtual ~text ()
 Destructor. More...
 
virtual InstanceCount_t decInstance () const
 Decrement the instance. More...
 
const char * get () const
 Get the (char*) value. 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...
 
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 text &Other)
 text less than compare operator. More...
 
bool operator<= (const text &Other)
 text less than or equal to compare operator. More...
 
textoperator= (const text &Other)
 Copy a text object by incrementing its instance pointer. More...
 
bool operator== (const text &Other)
 text equal compare operator. More...
 
bool operator> (const text &Other)
 text greater than compare operator. More...
 
bool operator>= (const text &Other)
 text greater than or equal to compare operator. More...
 
bool parse (Parse &in, component *errors)
 Parse the data into this object. More...
 
bool parse (const char *in, component *errors)
 Parse the data into this object. 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 =0
 Print the object in RFC-iCalendar format. 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...
 

Detailed Description

This class represents any iCalendar TEXT value type.

Definition at line 76 of file text.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

◆ text() [1/4]

SoftwareAndServices::Library::iCalendar::text::text ( )

text Constructor - no data.

◆ text() [2/4]

SoftwareAndServices::Library::iCalendar::text::text ( const text aValue)

text Constructor - copy constructor.

Parameters
aValueInitialize the value to str.

◆ text() [3/4]

SoftwareAndServices::Library::iCalendar::text::text ( const char *  aString,
size_t  Length = 0 
)

text Constructor

Parameters
aStringInitialize the value to str.
LengthIf Length is greater then zero, only take Length characters as the value to use to initialize this object.

◆ text() [4/4]

SoftwareAndServices::Library::iCalendar::text::text ( String *  aString)

text Constructor

Parameters
aStringInitialize the value to str.

◆ ~text()

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

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()

const char* SoftwareAndServices::Library::iCalendar::text::get ( ) const

Get the (char*) value.

Caller MUST StringCache::remove it when done.

Returns
The (char*) value of the object.

◆ getData()

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

Get the pointer to the data being stored.

Returns
Pointer to the data being stored.

◆ 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.

◆ 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<()

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

text less than compare operator.

Does a string compare.

Parameters
OtherThe other text object to compare to.
Returns
TRUE if the values are equal.

◆ operator<=()

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

text less than or equal to compare operator.

Does a string compare.

Parameters
OtherThe other text object to compare to.
Returns
TRUE if the values are equal.

◆ operator=()

text& SoftwareAndServices::Library::iCalendar::text::operator= ( const text Other)

Copy a text object by incrementing its instance pointer.

Parameters
OtherThe other text object to get a ref from.

◆ operator==()

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

text equal compare operator.

Does a string compare.

Parameters
OtherThe other text object to compare to.
Returns
TRUE if the values are equal.

◆ operator>()

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

text greater than compare operator.

Does a string compare.

Parameters
OtherThe other text object to compare to.
Returns
TRUE if the values are equal.

◆ operator>=()

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

text greater than or equal to compare operator.

Does a string compare.

Parameters
OtherThe other text object to compare to.
Returns
TRUE if the values are equal.

◆ parse() [1/2]

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

Parse the data into this object.

Parameters
inAn initialized Parse() object.
errorsAn object that will contain any errors in a RFC-iCalendar way.
Returns
TRUE if the 'in' object contents parsed correctly.

◆ parse() [2/2]

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

Parse the data into this object.

Parameters
inAn string to be used as the value for this object.
errorsAn object that will contain any errors in a RFC-iCalendar way.
Returns
TRUE if the 'in' object contents parsed correctly.

◆ 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() [1/2]

◆ sprint() [2/2]

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

Print the object in RFC-iCalendar format.

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

◆ 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: