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::SetFinishWhenEmpty ( BOOL  v  )  [inline]

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

PTextToSpeech* PVXMLSession::SetTextToSpeech ( const PString ttsName  ) 

PTextToSpeech* PVXMLSession::GetTextToSpeech (  )  [inline]

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

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

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

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

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

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

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

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::Execute (  ) 

PVXMLChannel* PVXMLSession::GetAndLockVXMLChannel (  )  [inline]

void PVXMLSession::UnLockVXMLChannel (  )  [inline]

PMutex& PVXMLSession::GetSessionMutex (  )  [inline]

BOOL PVXMLSession::LoadGrammar ( PVXMLGrammar grammar  ) 

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

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

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

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

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

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

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

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

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

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

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

virtual BOOL PVXMLSession::EndRecording (  )  [virtual]

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

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

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

PString PVXMLSession::GetXMLError (  )  const

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

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

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

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

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

PVXMLSession::PDECLARE_NOTIFIER ( PThread  ,
PVXMLSession  ,
VXMLExecute   
)

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

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

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

PXMLElement* PVXMLSession::FindHandler ( const PString event  ) 

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

Implements PVXMLChannelInterface.

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

Implements PVXMLChannelInterface.

void PVXMLSession::RecordEnd (  )  [virtual]

Implements PVXMLChannelInterface.

void PVXMLSession::Trigger (  )  [virtual]

Implements PVXMLChannelInterface.

void PVXMLSession::Initialise (  )  [protected]

void PVXMLSession::AllowClearCall (  )  [protected]

void PVXMLSession::ProcessUserInput (  )  [protected]

void PVXMLSession::ProcessNode (  )  [protected]

void PVXMLSession::ProcessGrammar (  )  [protected]

BOOL PVXMLSession::TraverseAudio (  )  [protected]

BOOL PVXMLSession::TraverseGoto (  )  [protected]

BOOL PVXMLSession::TraverseGrammar (  )  [protected]

BOOL PVXMLSession::TraverseRecord (  )  [protected]

BOOL PVXMLSession::TraverseIf (  )  [protected]

BOOL PVXMLSession::TraverseExit (  )  [protected]

BOOL PVXMLSession::TraverseVar (  )  [protected]

BOOL PVXMLSession::TraverseSubmit (  )  [protected]

BOOL PVXMLSession::TraverseMenu (  )  [protected]

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

BOOL PVXMLSession::TraverseProperty (  )  [protected]

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

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

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

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

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


Member Data Documentation

PSyncPoint PVXMLSession::waitForEvent [protected]

PMutex PVXMLSession::sessionMutex [protected]

PXML PVXMLSession::xmlFile [protected]

PVXMLGrammar* PVXMLSession::activeGrammar [protected]

BOOL PVXMLSession::listening [protected]

int PVXMLSession::timeout [protected]

PStringToString PVXMLSession::sessionVars [protected]

PStringToString PVXMLSession::documentVars [protected]

PMutex PVXMLSession::userInputMutex [protected]

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

BOOL PVXMLSession::recording [protected]

PFilePath PVXMLSession::recordFn [protected]

BOOL PVXMLSession::recordDTMFTerm [protected]

PTimeInterval PVXMLSession::recordMaxTime [protected]

PTimeInterval PVXMLSession::recordFinalSilence [protected]

PSyncPoint PVXMLSession::recordSync [protected]

BOOL PVXMLSession::loaded [protected]

BOOL PVXMLSession::finishWhenEmpty [protected]

BOOL PVXMLSession::allowFinish [protected]

PURL PVXMLSession::rootURL [protected]

BOOL PVXMLSession::emptyAction [protected]

PThread* PVXMLSession::vxmlThread [protected]

BOOL PVXMLSession::threadRunning [protected]

BOOL PVXMLSession::forceEnd [protected]

PString PVXMLSession::mediaFormat [protected]

PVXMLChannel* PVXMLSession::vxmlChannel [protected]

PTextToSpeech* PVXMLSession::textToSpeech [protected]

BOOL PVXMLSession::autoDeleteTextToSpeech [protected]

PXMLElement* PVXMLSession::currentForm [protected]

PXMLElement* PVXMLSession::currentField [protected]

PXMLObject* PVXMLSession::currentNode [protected]


The documentation for this class was generated from the following file:
Generated on Fri Sep 21 14:40:16 2007 for PWLib by  doxygen 1.5.3