Public Types |
enum | TransferType { BridgedTransfer,
BlindTransfer,
ConsultationTransfer
} |
Public Member Functions |
| PVXMLSession (PTextToSpeech *tts=NULL, PBoolean autoDelete=false) |
virtual | ~PVXMLSession () |
PTextToSpeech * | SetTextToSpeech (PTextToSpeech *tts, PBoolean autoDelete=false) |
PTextToSpeech * | SetTextToSpeech (const PString &ttsName) |
PTextToSpeech * | GetTextToSpeech () const |
virtual PBoolean | Load (const PString &source) |
virtual PBoolean | LoadFile (const PFilePath &file, const PString &firstForm=PString::Empty()) |
virtual PBoolean | LoadURL (const PURL &url) |
virtual PBoolean | LoadVXML (const PString &xml, const PString &firstForm=PString::Empty()) |
virtual PBoolean | IsLoaded () const |
virtual PBoolean | Open (const PString &mediaFormat) |
virtual PBoolean | Close () |
| Close the channel.
|
virtual PBoolean | Execute () |
PVXMLChannel * | GetAndLockVXMLChannel () |
void | UnLockVXMLChannel () |
PMutex & | GetSessionMutex () |
virtual PBoolean | LoadGrammar (PVXMLGrammar *grammar) |
virtual PBoolean | PlayText (const PString &text, PTextToSpeech::TextType type=PTextToSpeech::Default, PINDEX repeat=1, PINDEX delay=0) |
PBoolean | ConvertTextToFilenameList (const PString &text, PTextToSpeech::TextType type, PStringArray &list, PBoolean useCacheing) |
virtual PBoolean | PlayFile (const PString &fn, PINDEX repeat=1, PINDEX delay=0, PBoolean autoDelete=false) |
virtual PBoolean | PlayData (const PBYTEArray &data, PINDEX repeat=1, PINDEX delay=0) |
virtual PBoolean | PlayCommand (const PString &data, PINDEX repeat=1, PINDEX delay=0) |
virtual PBoolean | PlayResource (const PURL &url, PINDEX repeat=1, PINDEX delay=0) |
virtual PBoolean | PlayTone (const PString &toneSpec, PINDEX repeat=1, PINDEX delay=0) |
virtual PBoolean | PlayElement (PXMLElement &element) |
virtual PBoolean | PlaySilence (PINDEX msecs=0) |
virtual PBoolean | PlaySilence (const PTimeInterval &timeout) |
virtual PBoolean | PlayStop () |
virtual void | SetPause (PBoolean pause) |
virtual void | GetBeepData (PBYTEArray &data, unsigned ms) |
virtual PBoolean | StartRecording (const PFilePath &fn, PBoolean recordDTMFTerm, const PTimeInterval &recordMaxTime, const PTimeInterval &recordFinalSilence) |
virtual PBoolean | EndRecording () |
virtual void | OnUserInput (const PString &str) |
PString | GetXMLError () const |
virtual void | OnEndDialog () |
virtual void | OnEndSession () |
virtual bool | OnTransfer (const PString &, TransferType) |
void | SetTransferComplete (bool state) |
const PStringToString & | GetVariables () |
virtual PCaselessString | GetVar (const PString &str) const |
virtual void | SetVar (const PString &ostr, const PString &val) |
virtual PString | EvaluateExpr (const PString &oexpr) |
virtual PBoolean | RetreiveResource (const PURL &url, PString &contentType, PFilePath &fn, PBoolean useCache=true) |
| PDECLARE_NOTIFIER (PThread, PVXMLSession, VXMLExecute) |
bool | SetCurrentForm (const PString &id, bool fullURI) |
bool | GoToEventHandler (PXMLElement &element, const PString &eventName) |
virtual void | OnEndRecording () |
virtual void | Trigger () |
virtual PBoolean | TraverseAudio (PXMLElement &element) |
virtual PBoolean | TraverseBreak (PXMLElement &element) |
virtual PBoolean | TraverseValue (PXMLElement &element) |
virtual PBoolean | TraverseSayAs (PXMLElement &element) |
virtual PBoolean | TraverseGoto (PXMLElement &element) |
virtual PBoolean | TraverseGrammar (PXMLElement &element) |
virtual PBoolean | TraverseRecord (PXMLElement &element) |
virtual PBoolean | TraversedRecord (PXMLElement &element) |
virtual PBoolean | TraverseIf (PXMLElement &element) |
virtual PBoolean | TraverseExit (PXMLElement &element) |
virtual PBoolean | TraverseVar (PXMLElement &element) |
virtual PBoolean | TraverseSubmit (PXMLElement &element) |
virtual PBoolean | TraverseMenu (PXMLElement &element) |
virtual PBoolean | TraversedMenu (PXMLElement &element) |
virtual PBoolean | TraverseChoice (PXMLElement &element) |
virtual PBoolean | TraverseProperty (PXMLElement &element) |
virtual PBoolean | TraverseDisconnect (PXMLElement &element) |
virtual PBoolean | TraverseForm (PXMLElement &element) |
virtual PBoolean | TraversedForm (PXMLElement &element) |
virtual PBoolean | TraversePrompt (PXMLElement &element) |
virtual PBoolean | TraverseField (PXMLElement &element) |
virtual PBoolean | TraversedField (PXMLElement &element) |
virtual PBoolean | TraverseFilled (PXMLElement &element) |
virtual PBoolean | TraverseNoInput (PXMLElement &element) |
virtual PBoolean | TraverseNoMatch (PXMLElement &element) |
virtual PBoolean | TraverseError (PXMLElement &element) |
virtual PBoolean | TraverseCatch (PXMLElement &element) |
virtual PBoolean | TraverseTransfer (PXMLElement &element) |
virtual PBoolean | TraversedTransfer (PXMLElement &element) |
__inline PVXMLChannel * | GetVXMLChannel () const |
Static Public Member Functions |
static PTimeInterval | StringToTime (const PString &str) |
Protected Types |
enum | { NotRecording,
RecordingInProgress,
RecordingComplete
} |
enum | { NotTransfering,
TransferInProgress,
TransferFailed,
TransferSuccessful
} |
Protected Member Functions |
virtual bool | ProcessNode () |
virtual bool | ProcessEvents () |
virtual bool | ProcessGrammar () |
virtual bool | NextNode (bool skipChildren) |
void | SayAs (const PString &className, const PString &text) |
void | SayAs (const PString &className, const PString &text, const PString &voice) |
PURL | NormaliseResourceName (const PString &src) |
Protected Attributes |
PMutex | m_sessionMutex |
PURL | m_rootURL |
PXML | m_xml |
PTextToSpeech * | m_textToSpeech |
bool | m_autoDeleteTextToSpeech |
PThread * | m_vxmlThread |
bool | m_abortVXML |
PSyncPoint | m_waitForEvent |
PXMLObject * | m_currentNode |
bool | m_xmlChanged |
bool | m_speakNodeData |
PVXMLGrammar * | m_grammar |
char | m_defaultMenuDTMF |
PStringToString | m_variables |
PString | m_variableScope |
std::queue< char > | m_userInputQueue |
PMutex | m_userInputMutex |
enum PVXMLSession:: { ... } | m_recordingStatus |
bool | m_recordStopOnDTMF |
enum PVXMLSession:: { ... } | m_transferStatus |
PTime | m_transferStartTime |