#include <asner.h>
Inheritance diagram for PASN_Enumeration:
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_Enumeration & | operator= (unsigned v) |
operator unsigned () const | |
unsigned | GetValue () const |
void | SetValue (unsigned v) |
unsigned | GetMaximum () const |
virtual Comparison | Compare (const PObject &obj) const |
virtual PObject * | Clone () 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_Names * | names |
unsigned | namesCount |
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 | |||
) |
PASN_Enumeration& PASN_Enumeration::operator= | ( | unsigned | v | ) | [inline] |
PASN_Enumeration::operator unsigned | ( | ) | const [inline] |
unsigned PASN_Enumeration::GetValue | ( | ) | const [inline] |
void PASN_Enumeration::SetValue | ( | unsigned | v | ) | [inline] |
unsigned PASN_Enumeration::GetMaximum | ( | ) | const [inline] |
virtual Comparison PASN_Enumeration::Compare | ( | const PObject & | obj | ) | const [virtual] |
Compare the two objects and return their relative rank. This function is usually overridden by descendent classes to yield the ranking according to the semantics of the object.
The default function is to use the CompareObjectMemoryDirect()# function to do a byte wise memory comparison of the two objects.
Reimplemented from PObject.
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.
Reimplemented from PObject.
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.
virtual PString PASN_Enumeration::GetTypeAsString | ( | ) | const [virtual] |
Return a string giving the type of the object
Implements PASN_Object.
virtual PINDEX PASN_Enumeration::GetDataLength | ( | ) | const [virtual] |
Implements PASN_Object.
virtual BOOL PASN_Enumeration::Decode | ( | PASN_Stream & | ) | [virtual] |
Implements PASN_Object.
virtual void PASN_Enumeration::Encode | ( | PASN_Stream & | ) | const [virtual] |
Implements PASN_Object.
BOOL PASN_Enumeration::DecodePER | ( | PPER_Stream & | strm | ) |
void PASN_Enumeration::EncodePER | ( | PPER_Stream & | strm | ) | const |
PINDEX PASN_Enumeration::GetValueByName | ( | PString | name | ) | const |
unsigned PASN_Enumeration::maxEnumValue [protected] |
unsigned PASN_Enumeration::value [protected] |
const PASN_Names* PASN_Enumeration::names [protected] |
unsigned PASN_Enumeration::namesCount [protected] |