Main Page | Modules | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

incomingscript.h

Go to the documentation of this file.
00001 
00008 /***************************************************************************
00009  *                                                                         *
00010  *   This program is free software; you can redistribute it and/or modify  *
00011  *   it under the terms of the GNU General Public License as published by  *
00012  *   the Free Software Foundation; either version 2 of the License, or     *
00013  *   (at your option) any later version.                                   *
00014  *                                                                         *
00015  ***************************************************************************/
00016 
00017 #ifndef INCOMINGSCRIPT_H
00018 #define INCOMINGSCRIPT_H
00019 
00020 #include "applicationexception.h"
00021 #include "pythonscript.h"
00022 
00023 class Connection;
00024 class PycStringIO_CAPI;
00025 
00031 void* incomingscript_exec_handler(void* arg);
00032 
00038 void incomingscript_cleanup_handler(void* arg);
00039 
00049 class IncomingScript: public PythonScript
00050 {
00051         friend void* incomingscript_exec_handler(void*);
00052         friend void incomingscript_cleanup_handler(void*);
00053 
00054         public:
00065                 IncomingScript(ostream &debug, unsigned short debug_level, ostream &error, Connection *conn, string incoming_script, PycStringIO_CAPI* cStringIO) throw (ApplicationError);
00066 
00069                 virtual ~IncomingScript();
00070 
00071         private:
00096                 virtual void run(void) throw();
00097 
00098                 Connection *conn; 
00099                 
00100                 pthread_t thread_handle; 
00101 };
00102 
00103 #endif
00104 
00105 /* History
00106 
00107 $Log: incomingscript.h,v $
00108 Revision 1.1.1.1  2003/02/19 08:19:53  gernot
00109 initial checkin of 0.4
00110 
00111 Revision 1.5  2003/02/10 14:17:09  ghillie
00112 merged from NATIVE_PTHREADS to HEAD
00113 
00114 Revision 1.4.2.2  2003/02/10 14:04:57  ghillie
00115 - made destructors virtual, otherwise wrong destructor is called!
00116 
00117 Revision 1.4.2.1  2003/02/09 15:03:41  ghillie
00118 - rewritten to use native pthread_* calls instead of CommonC++ Thread
00119 
00120 Revision 1.4  2003/01/18 12:53:06  ghillie
00121 - pass on reference to Python C API to PythonScript
00122 
00123 Revision 1.3  2003/01/04 16:00:53  ghillie
00124 - log improvements: log_level, timestamp
00125 
00126 Revision 1.2  2002/12/14 14:03:27  ghillie
00127 - added throw() declaration to run() method
00128 
00129 Revision 1.1  2002/12/10 15:01:08  ghillie
00130 - class IncomingScript now takes over the functionality of the old CallControl
00131   class defined in callcontrol.*, but uses a base class now
00132 
00133 Revision 1.17  2002/12/09 15:24:21  ghillie
00134 - new parameter debug to constructor
00135 - doc changes
00136 
00137 Revision 1.16  2002/12/07 22:31:37  ghillie
00138 - remove unnecessary attributes py_state, py_dict, isRunning
00139 - added attribute incoming_script
00140 
00141 Revision 1.15  2002/12/05 15:53:41  ghillie
00142 - began restructuring for COnnection to self-delete after getting OK from FlowControl / CallControl
00143 - callCompleted() removed, not needed any more
00144 
00145 Revision 1.14  2002/12/02 12:23:06  ghillie
00146 - incoming_script is now a parameter to constructor
00147 - service parameter now uses constants from Connection::service_t
00148 
00149 Revision 1.13  2002/11/29 11:09:04  ghillie
00150 renamed CapiCom to CapiSuite (name conflict with MS crypto API :-( )
00151 
00152 Revision 1.12  2002/11/29 10:20:44  ghillie
00153 - updated docs, use doxygen format now
00154 
00155 Revision 1.11  2002/11/27 15:56:14  ghillie
00156 updated comments for doxygen
00157 
00158 Revision 1.10  2002/11/23 15:55:09  ghillie
00159 added missing (?) include
00160 
00161 Revision 1.9  2002/11/21 11:34:33  ghillie
00162 - new methods final() and callCompleted()
00163 
00164 Revision 1.8  2002/11/18 14:21:07  ghillie
00165 - moved global severity_t to ApplicationError::severity_t
00166 - added throw() declarations to header files
00167 
00168 Revision 1.7  2002/11/14 17:05:19  ghillie
00169 major structural changes - much is easier, nicer and better prepared for the future now:
00170 - added DisconnectLogical handler to CallInterface
00171 - DTMF handling moved from CallControl to Connection
00172 - new call module ConnectModule for establishing connection
00173 - python script reduced from 2 functions to one (callWaiting, callConnected
00174   merged to callIncoming)
00175 - call modules implement the CallInterface now, not CallControl any more
00176   => this freed CallControl from nearly all communication stuff
00177 
00178 Revision 1.6  2002/11/13 08:34:54  ghillie
00179 moved history to the bottom
00180 
00181 Revision 1.5  2002/11/12 15:48:07  ghillie
00182 added data in handler
00183 
00184 Revision 1.4  2002/10/31 12:35:58  ghillie
00185 added DTMF support
00186 
00187 Revision 1.3  2002/10/30 14:24:41  ghillie
00188 added support for python call handling before call is connected
00189 
00190 Revision 1.2  2002/10/27 12:47:20  ghillie
00191 - added multithread support for python
00192 - changed callcontrol reference to stay in the python namespace
00193 - changed ApplicationError to support differen severity
00194 
00195 Revision 1.1  2002/10/25 13:29:38  ghillie
00196 grouped files into subdirectories
00197 
00198 Revision 1.6  2002/10/23 15:40:15  ghillie
00199 added python integration...
00200 
00201 Revision 1.5  2002/10/23 14:17:41  ghillie
00202 added registerCallModule()
00203 
00204 Revision 1.4  2002/10/09 14:36:22  gernot
00205 added CallModule base class for all call handling modules
00206 
00207 Revision 1.3  2002/10/05 20:43:32  gernot
00208 quick'n'dirty, but WORKS
00209 
00210 Revision 1.2  2002/10/04 15:48:03  gernot
00211 structure changes completed & compiles now!
00212 
00213 Revision 1.1  2002/10/04 13:28:43  gernot
00214 CallControll class added
00215 
00216 */

Generated on Sun Jan 18 11:12:46 2004 for CapiSuite by doxygen 1.3.2