PASN_Choice Class Reference

#include <asner.h>

Inheritance diagram for PASN_Choice:

PASN_Object PObject List of all members.

Public Member Functions

 ~PASN_Choice ()
virtual void SetTag (unsigned newTag, TagClass tagClass=DefaultTagClass)
PString GetTagName () const
PASN_ObjectGetObject () const
BOOL IsValid () const
 operator PASN_Null & ()
 operator PASN_Boolean & ()
 operator PASN_Integer & ()
 operator PASN_Enumeration & ()
 operator PASN_Real & ()
 operator PASN_ObjectId & ()
 operator PASN_BitString & ()
 operator PASN_OctetString & ()
 operator PASN_NumericString & ()
 operator PASN_PrintableString & ()
 operator PASN_VisibleString & ()
 operator PASN_IA5String & ()
 operator PASN_GeneralString & ()
 operator PASN_BMPString & ()
 operator PASN_Sequence & ()
 operator const PASN_Null & () const
 operator const PASN_Boolean & () const
 operator const PASN_Integer & () const
 operator const PASN_Enumeration & () const
 operator const PASN_Real & () const
 operator const PASN_ObjectId & () const
 operator const PASN_BitString & () const
 operator const PASN_OctetString & () const
 operator const PASN_NumericString & () const
 operator const PASN_PrintableString & () const
 operator const PASN_VisibleString & () const
 operator const PASN_IA5String & () const
 operator const PASN_GeneralString & () const
 operator const PASN_BMPString & () const
 operator const PASN_Sequence & () const
virtual BOOL CreateObject ()=0
virtual Comparison Compare (const PObject &obj) const
virtual void PrintOn (ostream &strm) const
virtual PString GetTypeAsString () const
virtual PINDEX GetDataLength () const
virtual BOOL IsPrimitive () const
virtual BOOL Decode (PASN_Stream &)
virtual void Encode (PASN_Stream &) const
virtual BOOL DecodePER (PPER_Stream &)
virtual void EncodePER (PPER_Stream &) const
PASN_Choiceoperator= (const PASN_Choice &other)
PINDEX GetValueByName (PString name) const

Protected Member Functions

 PASN_Choice (unsigned nChoices=0, BOOL extend=FALSE)
 PASN_Choice (unsigned tag, TagClass tagClass, unsigned nChoices, BOOL extend)
 PASN_Choice (unsigned tag, TagClass tagClass, unsigned nChoices, BOOL extend, const PASN_Names *nameSpec, unsigned namesCnt)
 PASN_Choice (const PASN_Choice &other)
BOOL CheckCreate () const

Protected Attributes

unsigned numChoices
PASN_Objectchoice
const PASN_Namesnames
unsigned namesCount

Detailed Description

Class for ASN Choice type.


Constructor & Destructor Documentation

PASN_Choice::~PASN_Choice  ) 
 

PASN_Choice::PASN_Choice unsigned  nChoices = 0,
BOOL  extend = FALSE
[protected]
 

PASN_Choice::PASN_Choice unsigned  tag,
TagClass  tagClass,
unsigned  nChoices,
BOOL  extend
[protected]
 

PASN_Choice::PASN_Choice unsigned  tag,
TagClass  tagClass,
unsigned  nChoices,
BOOL  extend,
const PASN_Names nameSpec,
unsigned  namesCnt
[protected]
 

PASN_Choice::PASN_Choice const PASN_Choice other  )  [protected]
 


Member Function Documentation

BOOL PASN_Choice::CheckCreate  )  const [protected]
 

virtual Comparison PASN_Choice::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.

Returns:
LessThan#, EqualTo# or GreaterThan# according to the relative rank of the objects.

Reimplemented from PObject.

virtual BOOL PASN_Choice::CreateObject  )  [pure virtual]
 

virtual BOOL PASN_Choice::Decode PASN_Stream  )  [virtual]
 

Implements PASN_Object.

virtual BOOL PASN_Choice::DecodePER PPER_Stream &   )  [virtual]
 

virtual void PASN_Choice::Encode PASN_Stream  )  const [virtual]
 

Implements PASN_Object.

virtual void PASN_Choice::EncodePER PPER_Stream &   )  const [virtual]
 

virtual PINDEX PASN_Choice::GetDataLength  )  const [virtual]
 

Implements PASN_Object.

PASN_Object& PASN_Choice::GetObject  )  const
 

PString PASN_Choice::GetTagName  )  const
 

virtual PString PASN_Choice::GetTypeAsString  )  const [virtual]
 

Return a string giving the type of the object

Implements PASN_Object.

PINDEX PASN_Choice::GetValueByName PString  name  )  const
 

virtual BOOL PASN_Choice::IsPrimitive  )  const [virtual]
 

Reimplemented from PASN_Object.

BOOL PASN_Choice::IsValid  )  const [inline]
 

PASN_Choice::operator const PASN_BitString &  )  const
 

PASN_Choice::operator const PASN_BMPString &  )  const
 

PASN_Choice::operator const PASN_Boolean &  )  const
 

PASN_Choice::operator const PASN_Enumeration &  )  const
 

PASN_Choice::operator const PASN_GeneralString &  )  const
 

PASN_Choice::operator const PASN_IA5String &  )  const
 

PASN_Choice::operator const PASN_Integer &  )  const
 

PASN_Choice::operator const PASN_Null &  )  const
 

PASN_Choice::operator const PASN_NumericString &  )  const
 

PASN_Choice::operator const PASN_ObjectId &  )  const
 

PASN_Choice::operator const PASN_OctetString &  )  const
 

PASN_Choice::operator const PASN_PrintableString &  )  const
 

PASN_Choice::operator const PASN_Real &  )  const
 

PASN_Choice::operator const PASN_Sequence &  )  const
 

PASN_Choice::operator const PASN_VisibleString &  )  const
 

PASN_Choice::operator PASN_BitString &  ) 
 

PASN_Choice::operator PASN_BMPString &  ) 
 

PASN_Choice::operator PASN_Boolean &  ) 
 

PASN_Choice::operator PASN_Enumeration &  ) 
 

PASN_Choice::operator PASN_GeneralString &  ) 
 

PASN_Choice::operator PASN_IA5String &  ) 
 

PASN_Choice::operator PASN_Integer &  ) 
 

PASN_Choice::operator PASN_Null &  ) 
 

PASN_Choice::operator PASN_NumericString &  ) 
 

PASN_Choice::operator PASN_ObjectId &  ) 
 

PASN_Choice::operator PASN_OctetString &  ) 
 

PASN_Choice::operator PASN_PrintableString &  ) 
 

PASN_Choice::operator PASN_Real &  ) 
 

PASN_Choice::operator PASN_Sequence &  ) 
 

PASN_Choice::operator PASN_VisibleString &  ) 
 

PASN_Choice& PASN_Choice::operator= const PASN_Choice other  ) 
 

virtual void PASN_Choice::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 void PASN_Choice::SetTag unsigned  newTag,
TagClass  tagClass = DefaultTagClass
[virtual]
 


Member Data Documentation

PASN_Object* PASN_Choice::choice [protected]
 

const PASN_Names* PASN_Choice::names [protected]
 

unsigned PASN_Choice::namesCount [protected]
 

unsigned PASN_Choice::numChoices [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Mar 14 16:50:10 2006 for PWLib by  doxygen 1.4.6