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

An RFC-iCalendar UPN value. More...

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

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

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

 upn_value ()
 upn_value Constructor. More...
 
 upn_value (const char *Value)
 upn_value Constructor. More...
 
virtual ~upn_value ()
 upn_value Destructor. More...
 
virtual InstanceCount_t decInstance () const
 Decrement the instance. More...
 
const valuegetData () const
 Get the pointer to the data being stored. More...
 
virtual InstanceCount_t getInstance () const
 
StringgetRealm () const
 
Tokens_t getType () const
 Get the type of data being stored. More...
 
StringgetUpn () const
 
StringgetUser () const
 
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...
 
virtual bool parse (Parse &in, component *errors)
 #Parse a upn_value. More...
 
bool parse (const char *in, component *errors)
 #Parse a upn_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...
 
virtual bool valid () const
 Validate the value. 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

An RFC-iCalendar UPN value.

Definition at line 79 of file upn_value.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

◆ upn_value() [1/2]

SoftwareAndServices::Library::iCalendar::upn_value::upn_value ( )

upn_value Constructor.

◆ upn_value() [2/2]

SoftwareAndServices::Library::iCalendar::upn_value::upn_value ( const char *  Value)

upn_value Constructor.

Parameters
ValueThe initial upn_value value.

◆ ~upn_value()

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

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

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

◆ getRealm()

String* SoftwareAndServices::Library::iCalendar::upn_value::getRealm ( ) const
Returns
Get the realm part of the upn.

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

◆ getUpn()

String* SoftwareAndServices::Library::iCalendar::upn_value::getUpn ( ) const
Returns
The entire upn value.

◆ getUser()

String* SoftwareAndServices::Library::iCalendar::upn_value::getUser ( ) const
Returns
Get the user part of the upn, or NULL if none.

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

◆ parse() [1/2]

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

#Parse a upn_value.

Parameters
inAn open Parse object.
errorsWhere any errors may be stored.
Returns
TRUE when the parse is successful.

◆ parse() [2/2]

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

#Parse a upn_value.

Parameters
inA pointer to a string containing a upn_value.
errorsWhere any errors may be stored.
Returns
TRUE when the parse is successful.

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

◆ valid()

virtual bool SoftwareAndServices::Library::iCalendar::upn_value::valid ( ) const
virtual

Validate the value.

Returns
TRUE if the value is valid.

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: