PVXMLGrammar Class Referenceabstract

`#include <vxml.h>`

Inheritance diagram for PVXMLGrammar:

## 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
void | SetTimeout (const PTimeInterval &timeout)
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
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. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## 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. More...

## Protected Attributes

PVXMLSession & | m_session
PXMLElement & | m_field
PString | m_value
GrammarState | m_state
PTimeInterval | m_timeout
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. More...
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...

## Member Enumeration Documentation

## GrammarState

enum PVXMLGrammar::GrammarState

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::PVXMLGrammar | ( | PVXMLSession & | session,
|  | PXMLElement & | field
| ) |  |

## Member Function Documentation

## GetState()

GrammarState PVXMLGrammar::GetState | ( |  | ) | const

inline

References m_state, PDECLARE_NOTIFIER(), and SetTimeout().

## OnUserInput()

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

pure virtual

Implemented in PVXMLDigitsGrammar, and PVXMLMenuGrammar.

Referenced by PVXMLSession::GetSessionMutex().

## PDECLARE_NOTIFIER()

PVXMLGrammar::PDECLARE_NOTIFIER | ( | PTimer | ,
|  | PVXMLGrammar | ,
|  | OnTimeout |
| ) |  |

protected

Referenced by GetState(), and PVXMLSession::GetVariables().

## Process()

virtual bool PVXMLGrammar::Process | ( |  | ) |

virtual

Reimplemented in PVXMLMenuGrammar.

## SetTimeout()

void PVXMLGrammar::SetTimeout | ( | const PTimeInterval & | timeout | ) |

Referenced by GetState().

## Start()

virtual void PVXMLGrammar::Start | ( |  | ) |

virtual

## Member Data Documentation

## m_field

PXMLElement& PVXMLGrammar::m_field

protected

## m_mutex

PMutex PVXMLGrammar::m_mutex

protected

## m_session

PVXMLSession& PVXMLGrammar::m_session

protected

## m_state

GrammarState PVXMLGrammar::m_state

protected

Referenced by GetState().

## m_timeout

PTimeInterval PVXMLGrammar::m_timeout

protected

## m_timer

PTimer PVXMLGrammar::m_timer

protected

## m_value

PString PVXMLGrammar::m_value

protected

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

- vxml.h