PTLib Version 2.10.2
PVXMLSession Class Reference

#include <vxml.h>

Inheritance diagram for PVXMLSession:
PIndirectChannel PVXMLChannelInterface PChannel PObject

List of all members.

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)
virtual PBoolean LoadURL (const PURL &url)
virtual PBoolean LoadVXML (const PString &xml)
virtual PBoolean IsLoaded () const
virtual PBoolean Open (const PString &mediaFormat)
virtual PBoolean Close ()
 Close the channel.
virtual PBoolean Execute ()
PVXMLChannelGetAndLockVXMLChannel ()
void UnLockVXMLChannel ()
PMutexGetSessionMutex ()
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 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 PBoolean IsPlaying () const
virtual PBoolean IsRecording () const
virtual PBoolean OnUserInput (const PString &str)
PString GetXMLError () const
virtual void OnEndDialog ()
virtual void OnEndSession ()
virtual void OnTransfer (const PString &, bool)
const PStringToStringGetVariables ()
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)
void SetCallingToken (PString &token)
PXMLElementFindHandler (const PString &event)
virtual void OnEndRecording (const PString &channelName)
virtual void RecordEnd ()
virtual void Trigger ()
virtual PBoolean TraverseAudio ()
virtual PBoolean TraverseBreak ()
virtual PBoolean TraverseValue ()
virtual PBoolean TraverseSayAs ()
virtual PBoolean TraverseGoto ()
virtual PBoolean TraverseGrammar ()
virtual PBoolean TraverseRecord ()
virtual PBoolean TraverseIf ()
virtual PBoolean TraverseExit ()
virtual PBoolean TraverseVar ()
virtual PBoolean TraverseSubmit ()
virtual PBoolean TraverseMenu ()
virtual PBoolean TraverseChoice ()
virtual PBoolean TraverseProperty ()
virtual PBoolean TraverseDisconnect ()
virtual PBoolean TraverseForm ()
virtual PBoolean TraversePrompt ()
virtual PBoolean TraverseField ()
virtual PBoolean TraversedField ()
virtual PBoolean TraversedTransfer ()

Protected Member Functions

void Initialise ()
virtual void ProcessUserInput ()
virtual void ProcessGrammar ()
virtual void ProcessNode ()
virtual bool NextNode ()
void SayAs (const PString &className, const PString &text)
void SayAs (const PString &className, const PString &text, const PString &voice)
PURL NormaliseResourceName (const PString &src)
PXMLElementFindForm (const PString &id)

Static Protected Member Functions

static PTimeInterval StringToTime (const PString &str)

Protected Attributes

PSyncPoint waitForEvent
PMutex sessionMutex
PXML xmlFile
PVXMLGrammaractiveGrammar
PBoolean listening
int timeout
PStringToString m_variables
PMutex userInputMutex
std::queue< char > userInputQueue
PBoolean recording
PFilePath recordFn
PBoolean recordDTMFTerm
PTimeInterval recordMaxTime
PTimeInterval recordFinalSilence
PSyncPoint recordSync
PBoolean loaded
PURL rootURL
PBoolean emptyAction
PThreadvxmlThread
bool m_abortVXML
PString mediaFormat
PVXMLChannel *& vxmlChannel
PTextToSpeech * textToSpeech
PBoolean autoDeleteTextToSpeech
PXMLElementcurrentForm
PXMLElementcurrentField
PXMLObjectcurrentNode
bool m_speakNodeData

Constructor & Destructor Documentation

PVXMLSession::PVXMLSession ( PTextToSpeech *  tts = NULL,
PBoolean  autoDelete = false 
)
virtual PVXMLSession::~PVXMLSession ( ) [virtual]

Member Function Documentation

virtual PBoolean PVXMLSession::Close ( ) [virtual]

Close the channel.

This will detach itself from the read and write channels and delete both of them if they are auto delete.

Returns:
true if the channel is closed.

Reimplemented from PIndirectChannel.

PBoolean PVXMLSession::ConvertTextToFilenameList ( const PString text,
PTextToSpeech::TextType  type,
PStringArray list,
PBoolean  useCacheing 
)
virtual PBoolean PVXMLSession::EndRecording ( ) [virtual]
virtual PString PVXMLSession::EvaluateExpr ( const PString oexpr) [virtual]
virtual PBoolean PVXMLSession::Execute ( ) [virtual]
PXMLElement* PVXMLSession::FindForm ( const PString id) [protected]
PXMLElement* PVXMLSession::FindHandler ( const PString event)
PVXMLChannel* PVXMLSession::GetAndLockVXMLChannel ( )
virtual void PVXMLSession::GetBeepData ( PBYTEArray data,
unsigned  ms 
) [virtual]
PMutex& PVXMLSession::GetSessionMutex ( ) [inline]

References sessionMutex.

PTextToSpeech* PVXMLSession::GetTextToSpeech ( ) const [inline]

References textToSpeech.

virtual PCaselessString PVXMLSession::GetVar ( const PString str) const [virtual]
const PStringToString& PVXMLSession::GetVariables ( ) [inline]

References m_variables.

PString PVXMLSession::GetXMLError ( ) const
void PVXMLSession::Initialise ( ) [protected]
virtual PBoolean PVXMLSession::IsLoaded ( ) const [inline, virtual]

References loaded.

virtual PBoolean PVXMLSession::IsPlaying ( ) const [virtual]
virtual PBoolean PVXMLSession::IsRecording ( ) const [virtual]
virtual PBoolean PVXMLSession::Load ( const PString source) [virtual]
virtual PBoolean PVXMLSession::LoadFile ( const PFilePath file) [virtual]
virtual PBoolean PVXMLSession::LoadGrammar ( PVXMLGrammar grammar) [virtual]
virtual PBoolean PVXMLSession::LoadURL ( const PURL url) [virtual]
virtual PBoolean PVXMLSession::LoadVXML ( const PString xml) [virtual]
virtual bool PVXMLSession::NextNode ( ) [protected, virtual]
PURL PVXMLSession::NormaliseResourceName ( const PString src) [protected]
virtual void PVXMLSession::OnEndDialog ( ) [virtual]
virtual void PVXMLSession::OnEndRecording ( const PString channelName) [virtual]

Implements PVXMLChannelInterface.

virtual void PVXMLSession::OnEndSession ( ) [inline, virtual]
virtual void PVXMLSession::OnTransfer ( const PString ,
bool   
) [inline, virtual]
virtual PBoolean PVXMLSession::OnUserInput ( const PString str) [virtual]
virtual PBoolean PVXMLSession::Open ( const PString mediaFormat) [virtual]
PVXMLSession::PDECLARE_NOTIFIER ( PThread  ,
PVXMLSession  ,
VXMLExecute   
)
virtual PBoolean PVXMLSession::PlayCommand ( const PString data,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]
virtual PBoolean PVXMLSession::PlayData ( const PBYTEArray data,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]
virtual PBoolean PVXMLSession::PlayFile ( const PString fn,
PINDEX  repeat = 1,
PINDEX  delay = 0,
PBoolean  autoDelete = false 
) [virtual]
virtual PBoolean PVXMLSession::PlayResource ( const PURL url,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]
virtual PBoolean PVXMLSession::PlaySilence ( PINDEX  msecs = 0) [virtual]
virtual PBoolean PVXMLSession::PlaySilence ( const PTimeInterval timeout) [virtual]
virtual PBoolean PVXMLSession::PlayStop ( ) [virtual]
virtual PBoolean PVXMLSession::PlayText ( const PString text,
PTextToSpeech::TextType  type = PTextToSpeech::Default,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]
virtual PBoolean PVXMLSession::PlayTone ( const PString toneSpec,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]
virtual void PVXMLSession::ProcessGrammar ( ) [protected, virtual]
virtual void PVXMLSession::ProcessNode ( ) [protected, virtual]
virtual void PVXMLSession::ProcessUserInput ( ) [protected, virtual]
virtual void PVXMLSession::RecordEnd ( ) [virtual]

Implements PVXMLChannelInterface.

virtual PBoolean PVXMLSession::RetreiveResource ( const PURL url,
PString contentType,
PFilePath fn,
PBoolean  useCache = true 
) [virtual]
void PVXMLSession::SayAs ( const PString className,
const PString text,
const PString voice 
) [protected]
void PVXMLSession::SayAs ( const PString className,
const PString text 
) [protected]
void PVXMLSession::SetCallingToken ( PString token) [inline]
virtual void PVXMLSession::SetPause ( PBoolean  pause) [virtual]
PTextToSpeech* PVXMLSession::SetTextToSpeech ( const PString ttsName)
PTextToSpeech* PVXMLSession::SetTextToSpeech ( PTextToSpeech *  tts,
PBoolean  autoDelete = false 
)
virtual void PVXMLSession::SetVar ( const PString ostr,
const PString val 
) [virtual]
virtual PBoolean PVXMLSession::StartRecording ( const PFilePath fn,
PBoolean  recordDTMFTerm,
const PTimeInterval recordMaxTime,
const PTimeInterval recordFinalSilence 
) [virtual]
static PTimeInterval PVXMLSession::StringToTime ( const PString str) [static, protected]
virtual PBoolean PVXMLSession::TraverseAudio ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseBreak ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseChoice ( ) [virtual]
virtual PBoolean PVXMLSession::TraversedField ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseDisconnect ( ) [virtual]
virtual PBoolean PVXMLSession::TraversedTransfer ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseExit ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseField ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseForm ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseGoto ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseGrammar ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseIf ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseMenu ( ) [virtual]
virtual PBoolean PVXMLSession::TraversePrompt ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseProperty ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseRecord ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseSayAs ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseSubmit ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseValue ( ) [virtual]
virtual PBoolean PVXMLSession::TraverseVar ( ) [virtual]
virtual void PVXMLSession::Trigger ( ) [virtual]

Implements PVXMLChannelInterface.

void PVXMLSession::UnLockVXMLChannel ( ) [inline]

References sessionMutex.


Member Data Documentation

Referenced by IsLoaded().

bool PVXMLSession::m_abortVXML [protected]
PTextToSpeech* PVXMLSession::textToSpeech [protected]

Referenced by GetTextToSpeech().

int PVXMLSession::timeout [protected]
std::queue<char> PVXMLSession::userInputQueue [protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines