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

#include <vxml.h>

Inheritance diagram for PVXMLGrammar:
Collaboration 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 SetSessionTimeout ()
 
void SetTimeout (const PTimeInterval &timeout)
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. 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...
 
__inline const PObjectPTraceObjectInstance () const
 
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

PVXMLSessionm_session
 
PXMLElementm_field
 
PString m_value
 
GrammarState m_state
 
PTimeInterval m_timeout
 
PTimer m_timer
 
PMutex m_mutex
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

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 __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
- 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.

void PVXMLGrammar::SetSessionTimeout ( )
void PVXMLGrammar::SetTimeout ( const PTimeInterval timeout)
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().

PTimeInterval PVXMLGrammar::m_timeout
protected
PTimer PVXMLGrammar::m_timer
protected
PString PVXMLGrammar::m_value
protected

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