opalvxml.h

Go to the documentation of this file.
00001 /*
00002  * opalvxml.h
00003  *
00004  * Header file for IVR code
00005  *
00006  * A H.323 IVR application.
00007  *
00008  * Copyright (C) 2002 Equivalence Pty. Ltd.
00009  *
00010  * The contents of this file are subject to the Mozilla Public License
00011  * Version 1.0 (the "License"); you may not use this file except in
00012  * compliance with the License. You may obtain a copy of the License at
00013  * http://www.mozilla.org/MPL/
00014  *
00015  * Software distributed under the License is distributed on an "AS IS"
00016  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00017  * the License for the specific language governing rights and limitations
00018  * under the License.
00019  *
00020  * The Original Code is Portable Windows Library.
00021  *
00022  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
00023  *
00024  * Contributor(s): ______________________________________.
00025  *
00026  * $Log: opalvxml.h,v $
00027  * Revision 2.3  2004/03/11 06:54:27  csoutheren
00028  * Added ability to disable SIP or H.323 stacks
00029  *
00030  * Revision 2.2  2003/03/07 05:48:12  robertj
00031  * Added OnEndSession() to automatically close connection.
00032  *
00033  * Revision 2.1  2002/11/10 11:33:17  robertj
00034  * Updated to OpenH323 v1.10.3
00035  *
00036  * Revision 1.15  2002/09/16 01:14:15  robertj
00037  * Added #define so can select if #pragma interface/implementation is used on
00038  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00039  *
00040  * Revision 1.14  2002/08/27 02:21:07  craigs
00041  * Added silence detection capability to fake G.723.1codec
00042  *
00043  * Revision 1.13  2002/08/15 08:22:25  craigs
00044  * Added P_EXPAT test back in
00045  *
00046  * Revision 1.12  2002/08/15 04:55:26  robertj
00047  * Fixed shutdown problems with closing vxml session, leaks a thread.
00048  * Fixed potential problems with indirect channel Close() function.
00049  *
00050  * Revision 1.11  2002/08/06 06:00:38  craigs
00051  * Removed ifdef test for EXPLATFLAG
00052  *
00053  * Revision 1.10  2002/08/06 05:11:24  craigs
00054  * Moved most of stuff to ptclib
00055  *
00056  * Revision 1.9  2002/08/05 09:43:30  robertj
00057  * Added pragma interface/implementation
00058  * Moved virtual into .cxx file
00059  *
00060  * Revision 1.8  2002/07/29 15:13:51  craigs
00061  * Added autodelete option to PlayFile
00062  *
00063  * Revision 1.7  2002/07/18 04:17:12  robertj
00064  * Moved virtuals to source and changed name of G.723.1 file capability
00065  *
00066  * Revision 1.6  2002/07/10 13:16:19  craigs
00067  * Moved some VXML classes from Opal back into PTCLib
00068  * Added ability to repeat outputted data
00069  *
00070  * Revision 1.5  2002/07/09 08:27:23  craigs
00071  * Added GetMediaFormat to channels
00072  *
00073  * Revision 1.4  2002/07/03 01:53:58  craigs
00074  * Added newline to the end of the file for Linux
00075  *
00076  * Revision 1.3  2002/07/02 06:32:04  craigs
00077  * Added recording functions
00078  *
00079  * Revision 1.2  2002/06/28 02:42:54  craigs
00080  * Fixed problem with G.723.1 file codec not identified as native format
00081  *
00082  * Revision 1.1  2002/06/27 05:44:39  craigs
00083  * Initial version
00084  *
00085  * Revision 1.2  2002/06/26 09:05:28  csoutheren
00086  * Added ability to utter various "sayas" types within prompts
00087  *
00088  * Revision 1.1  2002/06/26 01:13:53  csoutheren
00089  * Disassociated VXML and Opal/OpenH323 specific elements
00090  *
00091  *
00092  */
00093 
00094 #ifndef _OPAL_OPALVXML_H
00095 #define _OPAL_OPALVXML_H
00096 
00097 #ifdef P_USE_PRAGMA
00098 #pragma interface
00099 #endif
00100 
00101 #include <opal/buildopts.h>
00102 
00103 #include <ptclib/vxml.h>
00104 
00105 
00106 class OpalConnection;
00107 
00108 
00110 
00111 
00112 #if P_EXPAT
00113 
00114 class PTextToSpeech;
00115 
00116 class OpalVXMLSession : public PVXMLSession 
00117 {
00118   PCLASSINFO(OpalVXMLSession, PVXMLSession);
00119   public:
00120     OpalVXMLSession(
00121       OpalConnection * _conn,
00122       PTextToSpeech * tts = NULL,
00123       BOOL autoDelete = FALSE
00124     );
00125 
00126     virtual BOOL Close();
00127     virtual void OnEndSession();
00128 
00129     virtual PWAVFile * CreateWAVFile(
00130       const PFilePath & fn,
00131       PFile::OpenMode mode,
00132       int opts,
00133       unsigned fmt
00134     );
00135 
00136   protected:
00137     OpalConnection * conn;
00138 };
00139 
00140 #endif
00141 
00142 #endif // _OPAL_OPALVXML_H
00143 
00144 
00145 // End of File ///////////////////////////////////////////////////////////////

Generated on Fri Mar 7 06:33:40 2008 for OPAL by  doxygen 1.5.1