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)
PTextToSpeech * SetTextToSpeech (PTextToSpeech *_tts, BOOL autoDelete=FALSE)
PTextToSpeech * SetTextToSpeech (const PString &ttsName)
PTextToSpeech * GetTextToSpeech ()
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 ()
PVXMLChannel * GetAndLockVXMLChannel ()
void UnLockVXMLChannel ()
PMutex & GetSessionMutex ()
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)
PXMLElement * FindHandler (const PString &event)
PWAVFile * CreateWAVFile (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)
PXMLElement * FindForm (const PString &id)
virtual BOOL TraverseTransfer ()

Static Protected Member Functions

static PTimeInterval StringToTime (const PString &str)

Protected Attributes

PSyncPoint waitForEvent
PMutex sessionMutex
PXML xmlFile
PVXMLGrammar * activeGrammar
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
PThread * vxmlThread
BOOL threadRunning
BOOL forceEnd
PString mediaFormat
PVXMLChannel * vxmlChannel
PTextToSpeech * textToSpeech
BOOL autoDeleteTextToSpeech
PXMLElement * currentForm
PXMLElement * currentField
PXMLObject * currentNode

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 Sun Oct 22 12:49:44 2006 for PWLib by  doxygen 1.4.7