PASN_Enumeration Class Reference

#include <asner.h>

Inheritance diagram for PASN_Enumeration:
PASN_Object PObject

List of all members.

Public Member Functions

 PASN_Enumeration (unsigned val=0)
 PASN_Enumeration (unsigned tag, TagClass tagClass, unsigned nEnums=P_MAX_INDEX, PBoolean extendable=PFalse, unsigned val=0)
 PASN_Enumeration (unsigned tag, TagClass tagClass, unsigned nEnums, PBoolean extendable, const PASN_Names *nameSpec, unsigned namesCnt, unsigned val=0)
PASN_Enumerationoperator= (unsigned v)
 operator unsigned () const
unsigned GetValue () const
void SetValue (unsigned v)
unsigned GetMaximum () const
virtual Comparison Compare (const PObject &obj) const
virtual PObjectClone () const
virtual void PrintOn (ostream &strm) const
virtual PString GetTypeAsString () const
virtual PINDEX GetDataLength () const
virtual PBoolean Decode (PASN_Stream &)
virtual void Encode (PASN_Stream &) const
PBoolean DecodePER (PPER_Stream &strm)
void EncodePER (PPER_Stream &strm) const
PINDEX GetValueByName (PString name) const

Protected Attributes

unsigned maxEnumValue
unsigned value
const PASN_Namesnames
unsigned namesCount

Detailed Description

Class for ASN Enumerated type.


Constructor & Destructor Documentation

PASN_Enumeration::PASN_Enumeration ( unsigned  val = 0  ) 
PASN_Enumeration::PASN_Enumeration ( unsigned  tag,
TagClass  tagClass,
unsigned  nEnums = P_MAX_INDEX,
PBoolean  extendable = PFalse,
unsigned  val = 0 
)
PASN_Enumeration::PASN_Enumeration ( unsigned  tag,
TagClass  tagClass,
unsigned  nEnums,
PBoolean  extendable,
const PASN_Names nameSpec,
unsigned  namesCnt,
unsigned  val = 0 
)

Member Function Documentation

virtual PObject* PASN_Enumeration::Clone (  )  const [virtual]

Create a copy of the class on the heap. The exact semantics of the descendent class determine what is required to make a duplicate of the instance. Not all classes can even do a clone operation.

The main user of the clone function is the PDictionary class as it requires copies of the dictionary keys.

The default behaviour is for this function to assert.

Returns:
pointer to new copy of the class instance.

Reimplemented from PObject.

virtual Comparison PASN_Enumeration::Compare ( const PObject obj  )  const [virtual]
virtual PBoolean PASN_Enumeration::Decode ( PASN_Stream  )  [virtual]

Implements PASN_Object.

PBoolean PASN_Enumeration::DecodePER ( PPER_Stream strm  ) 
virtual void PASN_Enumeration::Encode ( PASN_Stream  )  const [virtual]

Implements PASN_Object.

void PASN_Enumeration::EncodePER ( PPER_Stream strm  )  const
virtual PINDEX PASN_Enumeration::GetDataLength (  )  const [virtual]

Implements PASN_Object.

unsigned PASN_Enumeration::GetMaximum (  )  const [inline]

References maxEnumValue.

virtual PString PASN_Enumeration::GetTypeAsString (  )  const [virtual]

Return a string giving the type of the object

Implements PASN_Object.

unsigned PASN_Enumeration::GetValue (  )  const [inline]

References value.

PINDEX PASN_Enumeration::GetValueByName ( PString  name  )  const
PASN_Enumeration::operator unsigned (  )  const [inline]

References value.

PASN_Enumeration& PASN_Enumeration::operator= ( unsigned  v  )  [inline]

References value.

virtual void PASN_Enumeration::PrintOn ( ostream &  strm  )  const [virtual]

Output the contents of the object to the stream. The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard operator<< function.

The default behaviour is to print the class name.

Reimplemented from PObject.

void PASN_Enumeration::SetValue ( unsigned  v  )  [inline]

References value.


Member Data Documentation

unsigned PASN_Enumeration::maxEnumValue [protected]

Referenced by GetMaximum().

const PASN_Names* PASN_Enumeration::names [protected]
unsigned PASN_Enumeration::namesCount [protected]
unsigned PASN_Enumeration::value [protected]

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

Generated on Sun Sep 6 02:12:23 2009 for PTLib by  doxygen 1.6.1