PTLib  Version 2.10.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PVXMLGrammar Class Reference

#include <vxml.h>

Inheritance diagram for PVXMLGrammar:
PObject PVXMLDigitsGrammar PVXMLMenuGrammar

Public Types

enum  GrammarState {
  Idle, Started, Filled, NoInput,
  NoMatch, Help
}
- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...

Public Member Functions

 PVXMLGrammar (PVXMLSession &session, PXMLElement &field)
virtual void OnUserInput (const char ch)=0
virtual void Start ()
virtual bool Process ()
GrammarState GetState () const
- Public Member Functions inherited from PObject
virtual ~PObject ()
virtual PObjectClone () const
 Create a copy of the class on the heap.
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class.
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance.
PBoolean IsClass (const char *cls) const
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class.
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank.
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects.
bool operator== (const PObject &obj) const
 Compare the two objects.
bool operator!= (const PObject &obj) const
 Compare the two objects.
bool operator< (const PObject &obj) const
 Compare the two objects.
bool operator> (const PObject &obj) const
 Compare the two objects.
bool operator<= (const PObject &obj) const
 Compare the two objects.
bool operator>= (const PObject &obj) const
 Compare the two objects.
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream.
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream.

Protected Member Functions

 PDECLARE_NOTIFIER (PTimer, PVXMLGrammar, OnTimeout)
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own.

Protected Attributes

PVXMLSessionm_session
PXMLElementm_field
PString m_value
GrammarState m_state
PTimer m_timer
PMutex m_mutex

Additional Inherited Members

- Static Public Member Functions inherited from PObject
static const char * Class ()
 Get the name of the class as a C string.
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect()
- Friends inherited from PObject

Member Enumeration Documentation

Enumerator:
Idle 

Not yet started.

Started 

Grammar awaiting input.

Filled 

got something that matched the grammar

NoInput 

timeout or still waiting to match

NoMatch 

recognized something but didn't match the grammar

Help 

help keyword

Constructor & Destructor Documentation

PVXMLGrammar::PVXMLGrammar ( PVXMLSession session,
PXMLElement field 
)

Member Function Documentation

GrammarState PVXMLGrammar::GetState ( ) const
inline

References m_state.

virtual void PVXMLGrammar::OnUserInput ( const char  ch)
pure virtual

Implemented in PVXMLDigitsGrammar, and PVXMLMenuGrammar.

PVXMLGrammar::PDECLARE_NOTIFIER ( PTimer  ,
PVXMLGrammar  ,
OnTimeout   
)
protected
virtual bool PVXMLGrammar::Process ( )
virtual

Reimplemented in PVXMLMenuGrammar.

virtual void PVXMLGrammar::Start ( )
virtual

Member Data Documentation

PXMLElement& PVXMLGrammar::m_field
protected
PMutex PVXMLGrammar::m_mutex
protected
PVXMLSession& PVXMLGrammar::m_session
protected
GrammarState PVXMLGrammar::m_state
protected

Referenced by GetState().

PTimer PVXMLGrammar::m_timer
protected
PString PVXMLGrammar::m_value
protected

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