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, BOOL autoDelete=FALSE)
virtual ~PVXMLSession ()
void SetFinishWhenEmpty (BOOL v)
PTextToSpeechSetTextToSpeech (PTextToSpeech *_tts, BOOL autoDelete=FALSE)
PTextToSpeechSetTextToSpeech (const PString &ttsName)
PTextToSpeechGetTextToSpeech ()
virtual BOOL Load (const PString &source)
virtual BOOL LoadFile (const PFilePath &file)
virtual BOOL LoadURL (const PURL &url)
virtual BOOL LoadVXML (const PString &xml)
virtual BOOL IsLoaded () const
virtual BOOL Open (BOOL isPCM)
virtual BOOL Open (const PString &mediaFormat)
virtual BOOL Close ()
BOOL Execute ()
PVXMLChannelGetAndLockVXMLChannel ()
void UnLockVXMLChannel ()
PMutexGetSessionMutex ()
BOOL LoadGrammar (PVXMLGrammar *grammar)
virtual BOOL PlayText (const PString &text, PTextToSpeech::TextType type=PTextToSpeech::Default, PINDEX repeat=1, PINDEX delay=0)
BOOL ConvertTextToFilenameList (const PString &_text, PTextToSpeech::TextType type, PStringArray &list, BOOL useCacheing)
virtual BOOL PlayFile (const PString &fn, PINDEX repeat=1, PINDEX delay=0, BOOL autoDelete=FALSE)
virtual BOOL PlayData (const PBYTEArray &data, PINDEX repeat=1, PINDEX delay=0)
virtual BOOL PlayCommand (const PString &data, PINDEX repeat=1, PINDEX delay=0)
virtual BOOL PlayResource (const PURL &url, PINDEX repeat=1, PINDEX delay=0)
virtual BOOL PlaySilence (PINDEX msecs=0)
virtual BOOL PlaySilence (const PTimeInterval &timeout)
virtual void SetPause (BOOL pause)
virtual void GetBeepData (PBYTEArray &data, unsigned ms)
virtual BOOL StartRecording (const PFilePath &fn, BOOL recordDTMFTerm, const PTimeInterval &recordMaxTime, const PTimeInterval &recordFinalSilence)
virtual BOOL EndRecording ()
virtual BOOL IsPlaying () const
virtual BOOL IsRecording () const
virtual BOOL OnUserInput (const PString &str)
PString GetXMLError () const
virtual void OnEndSession ()
virtual PString GetVar (const PString &str) const
virtual void SetVar (const PString &ostr, const PString &val)
virtual PString EvaluateExpr (const PString &oexpr)
virtual BOOL RetreiveResource (const PURL &url, PString &contentType, PFilePath &fn, BOOL useCache=TRUE)
 PDECLARE_NOTIFIER (PThread, PVXMLSession, VXMLExecute)
virtual BOOL DoTransfer (const PVXMLTransferOptions &)
virtual void OnTransfer (const PVXMLTransferResult &)
void SetCallingToken (PString &token)
PXMLElementFindHandler (const PString &event)
PWAVFileCreateWAVFile (const PFilePath &fn, PFile::OpenMode mode, int opts, unsigned fmt)
void OnEndRecording (const PString &channelName)
void RecordEnd ()
void Trigger ()

Protected Member Functions

void Initialise ()
void AllowClearCall ()
void ProcessUserInput ()
void ProcessNode ()
void ProcessGrammar ()
BOOL TraverseAudio ()
BOOL TraverseGoto ()
BOOL TraverseGrammar ()
BOOL TraverseRecord ()
BOOL TraverseIf ()
BOOL TraverseExit ()
BOOL TraverseVar ()
BOOL TraverseSubmit ()
BOOL TraverseMenu ()
BOOL TraverseChoice (const PString &grammarResult)
BOOL TraverseProperty ()
void SayAs (const PString &className, const PString &text)
PURL NormaliseResourceName (const PString &src)
PXMLElementFindForm (const PString &id)
virtual BOOL TraverseTransfer ()

Static Protected Member Functions

static PTimeInterval StringToTime (const PString &str)

Protected Attributes

PSyncPoint waitForEvent
PMutex sessionMutex
PXML xmlFile
PVXMLGrammaractiveGrammar
BOOL listening
int timeout
PStringToString sessionVars
PStringToString documentVars
PMutex userInputMutex
std::queue< char > userInputQueue
BOOL recording
PFilePath recordFn
BOOL recordDTMFTerm
PTimeInterval recordMaxTime
PTimeInterval recordFinalSilence
PSyncPoint recordSync
BOOL loaded
BOOL finishWhenEmpty
BOOL allowFinish
PURL rootURL
BOOL emptyAction
PThreadvxmlThread
BOOL threadRunning
BOOL forceEnd
PString mediaFormat
PVXMLChannelvxmlChannel
PTextToSpeechtextToSpeech
BOOL autoDeleteTextToSpeech
PXMLElementcurrentForm
PXMLElementcurrentField
PXMLObjectcurrentNode

Constructor & Destructor Documentation

PVXMLSession::PVXMLSession ( PTextToSpeech tts = NULL,
BOOL  autoDelete = FALSE 
)

virtual PVXMLSession::~PVXMLSession (  )  [virtual]


Member Function Documentation

void PVXMLSession::AllowClearCall (  )  [protected]

virtual BOOL 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.

BOOL PVXMLSession::ConvertTextToFilenameList ( const PString _text,
PTextToSpeech::TextType  type,
PStringArray list,
BOOL  useCacheing 
)

PWAVFile* PVXMLSession::CreateWAVFile ( const PFilePath fn,
PFile::OpenMode  mode,
int  opts,
unsigned  fmt 
) [virtual]

Implements PVXMLChannelInterface.

virtual BOOL PVXMLSession::DoTransfer ( const PVXMLTransferOptions  )  [inline, virtual]

virtual BOOL PVXMLSession::EndRecording (  )  [virtual]

virtual PString PVXMLSession::EvaluateExpr ( const PString oexpr  )  [virtual]

BOOL PVXMLSession::Execute (  ) 

PXMLElement* PVXMLSession::FindForm ( const PString id  )  [protected]

PXMLElement* PVXMLSession::FindHandler ( const PString event  ) 

PVXMLChannel* PVXMLSession::GetAndLockVXMLChannel (  )  [inline]

virtual void PVXMLSession::GetBeepData ( PBYTEArray data,
unsigned  ms 
) [virtual]

PMutex& PVXMLSession::GetSessionMutex (  )  [inline]

PTextToSpeech* PVXMLSession::GetTextToSpeech (  )  [inline]

virtual PString PVXMLSession::GetVar ( const PString str  )  const [virtual]

PString PVXMLSession::GetXMLError (  )  const

void PVXMLSession::Initialise (  )  [protected]

virtual BOOL PVXMLSession::IsLoaded (  )  const [inline, virtual]

virtual BOOL PVXMLSession::IsPlaying (  )  const [virtual]

virtual BOOL PVXMLSession::IsRecording (  )  const [virtual]

virtual BOOL PVXMLSession::Load ( const PString source  )  [virtual]

virtual BOOL PVXMLSession::LoadFile ( const PFilePath file  )  [virtual]

BOOL PVXMLSession::LoadGrammar ( PVXMLGrammar grammar  ) 

virtual BOOL PVXMLSession::LoadURL ( const PURL url  )  [virtual]

virtual BOOL PVXMLSession::LoadVXML ( const PString xml  )  [virtual]

PURL PVXMLSession::NormaliseResourceName ( const PString src  )  [protected]

void PVXMLSession::OnEndRecording ( const PString channelName  )  [virtual]

Implements PVXMLChannelInterface.

virtual void PVXMLSession::OnEndSession (  )  [inline, virtual]

virtual void PVXMLSession::OnTransfer ( const PVXMLTransferResult  )  [virtual]

virtual BOOL PVXMLSession::OnUserInput ( const PString str  )  [virtual]

virtual BOOL PVXMLSession::Open ( const PString mediaFormat  )  [virtual]

virtual BOOL PVXMLSession::Open ( BOOL  isPCM  )  [virtual]

PVXMLSession::PDECLARE_NOTIFIER ( PThread  ,
PVXMLSession  ,
VXMLExecute   
)

virtual BOOL PVXMLSession::PlayCommand ( const PString data,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]

virtual BOOL PVXMLSession::PlayData ( const PBYTEArray data,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]

virtual BOOL PVXMLSession::PlayFile ( const PString fn,
PINDEX  repeat = 1,
PINDEX  delay = 0,
BOOL  autoDelete = FALSE 
) [virtual]

virtual BOOL PVXMLSession::PlayResource ( const PURL url,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]

virtual BOOL PVXMLSession::PlaySilence ( const PTimeInterval timeout  )  [virtual]

virtual BOOL PVXMLSession::PlaySilence ( PINDEX  msecs = 0  )  [virtual]

virtual BOOL PVXMLSession::PlayText ( const PString text,
PTextToSpeech::TextType  type = PTextToSpeech::Default,
PINDEX  repeat = 1,
PINDEX  delay = 0 
) [virtual]

void PVXMLSession::ProcessGrammar (  )  [protected]

void PVXMLSession::ProcessNode (  )  [protected]

void PVXMLSession::ProcessUserInput (  )  [protected]

void PVXMLSession::RecordEnd (  )  [virtual]

Implements PVXMLChannelInterface.

virtual BOOL PVXMLSession::RetreiveResource ( const PURL url,
PString contentType,
PFilePath fn,
BOOL  useCache = TRUE 
) [virtual]

void PVXMLSession::SayAs ( const PString className,
const PString text 
) [protected]

void PVXMLSession::SetCallingToken ( PString token  )  [inline]

void PVXMLSession::SetFinishWhenEmpty ( BOOL  v  )  [inline]

virtual void PVXMLSession::SetPause ( BOOL  pause  )  [virtual]

PTextToSpeech* PVXMLSession::SetTextToSpeech ( const PString ttsName  ) 

PTextToSpeech* PVXMLSession::SetTextToSpeech ( PTextToSpeech _tts,
BOOL  autoDelete = FALSE 
)

virtual void PVXMLSession::SetVar ( const PString ostr,
const PString val 
) [virtual]

virtual BOOL PVXMLSession::StartRecording ( const PFilePath fn,
BOOL  recordDTMFTerm,
const PTimeInterval recordMaxTime,
const PTimeInterval recordFinalSilence 
) [virtual]

static PTimeInterval PVXMLSession::StringToTime ( const PString str  )  [static, protected]

BOOL PVXMLSession::TraverseAudio (  )  [protected]

BOOL PVXMLSession::TraverseChoice ( const PString grammarResult  )  [protected]

BOOL PVXMLSession::TraverseExit (  )  [protected]

BOOL PVXMLSession::TraverseGoto (  )  [protected]

BOOL PVXMLSession::TraverseGrammar (  )  [protected]

BOOL PVXMLSession::TraverseIf (  )  [protected]

BOOL PVXMLSession::TraverseMenu (  )  [protected]

BOOL PVXMLSession::TraverseProperty (  )  [protected]

BOOL PVXMLSession::TraverseRecord (  )  [protected]

BOOL PVXMLSession::TraverseSubmit (  )  [protected]

virtual BOOL PVXMLSession::TraverseTransfer (  )  [protected, virtual]

BOOL PVXMLSession::TraverseVar (  )  [protected]

void PVXMLSession::Trigger (  )  [virtual]

Implements PVXMLChannelInterface.

void PVXMLSession::UnLockVXMLChannel (  )  [inline]


Member Data Documentation

PVXMLGrammar* PVXMLSession::activeGrammar [protected]

BOOL PVXMLSession::allowFinish [protected]

BOOL PVXMLSession::autoDeleteTextToSpeech [protected]

PXMLElement* PVXMLSession::currentField [protected]

PXMLElement* PVXMLSession::currentForm [protected]

PXMLObject* PVXMLSession::currentNode [protected]

PStringToString PVXMLSession::documentVars [protected]

BOOL PVXMLSession::emptyAction [protected]

BOOL PVXMLSession::finishWhenEmpty [protected]

BOOL PVXMLSession::forceEnd [protected]

BOOL PVXMLSession::listening [protected]

BOOL PVXMLSession::loaded [protected]

PString PVXMLSession::mediaFormat [protected]

BOOL PVXMLSession::recordDTMFTerm [protected]

PTimeInterval PVXMLSession::recordFinalSilence [protected]

PFilePath PVXMLSession::recordFn [protected]

BOOL PVXMLSession::recording [protected]

PTimeInterval PVXMLSession::recordMaxTime [protected]

PSyncPoint PVXMLSession::recordSync [protected]

PURL PVXMLSession::rootURL [protected]

PMutex PVXMLSession::sessionMutex [protected]

PStringToString PVXMLSession::sessionVars [protected]

PTextToSpeech* PVXMLSession::textToSpeech [protected]

BOOL PVXMLSession::threadRunning [protected]

int PVXMLSession::timeout [protected]

PMutex PVXMLSession::userInputMutex [protected]

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

PVXMLChannel* PVXMLSession::vxmlChannel [protected]

PThread* PVXMLSession::vxmlThread [protected]

PSyncPoint PVXMLSession::waitForEvent [protected]

PXML PVXMLSession::xmlFile [protected]


The documentation for this class was generated from the following file:
Generated on Mon Jan 7 22:13:18 2008 for PWLib by  doxygen 1.4.7