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, BOOL extendable=FALSE, unsigned val=0)
 PASN_Enumeration (unsigned tag, TagClass tagClass, unsigned nEnums, BOOL 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 BOOL Decode (PASN_Stream &)
virtual void Encode (PASN_Stream &) const
BOOL 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,
BOOL  extendable = FALSE,
unsigned  val = 0 
)
PASN_Enumeration::PASN_Enumeration ( unsigned  tag,
TagClass  tagClass,
unsigned  nEnums,
BOOL  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 BOOL PASN_Enumeration::Decode ( PASN_Stream  )  [virtual]

Implements PASN_Object.

BOOL 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 03:50:34 2009 for PWLib by  doxygen 1.6.1