File: incomingscript_8h-source.html

package info (click to toggle)
capisuite 0.4.5-8
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,612 kB
  • ctags: 1,051
  • sloc: cpp: 3,981; sh: 3,465; python: 446; makefile: 265
file content (167 lines) | stat: -rw-r--r-- 12,763 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>CapiSuite: incomingscript.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.8 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>incomingscript.h</h1><a href="incomingscript_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 
00008 <span class="comment">/***************************************************************************</span>
00009 <span class="comment"> *                                                                         *</span>
00010 <span class="comment"> *   This program is free software; you can redistribute it and/or modify  *</span>
00011 <span class="comment"> *   it under the terms of the GNU General Public License as published by  *</span>
00012 <span class="comment"> *   the Free Software Foundation; either version 2 of the License, or     *</span>
00013 <span class="comment"> *   (at your option) any later version.                                   *</span>
00014 <span class="comment"> *                                                                         *</span>
00015 <span class="comment"> ***************************************************************************/</span>
00016 
00017 <span class="preprocessor">#ifndef INCOMINGSCRIPT_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define INCOMINGSCRIPT_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "<a class="code" href="applicationexception_8h.html">applicationexception.h</a>"</span>
00021 <span class="preprocessor">#include "<a class="code" href="pythonscript_8h.html">pythonscript.h</a>"</span>
00022 
00023 <span class="keyword">class </span><a class="code" href="classConnection.html">Connection</a>;
00024 <span class="keyword">class </span>PycStringIO_CAPI;
00025 
00031 <span class="keywordtype">void</span>* incomingscript_exec_handler(<span class="keywordtype">void</span>* arg);
00032 
00038 <span class="keywordtype">void</span> incomingscript_cleanup_handler(<span class="keywordtype">void</span>* arg);
00039 
<a name="l00049"></a><a class="code" href="classIncomingScript.html">00049</a> <span class="keyword">class </span><a class="code" href="classIncomingScript.html">IncomingScript</a>: <span class="keyword">public</span> <a class="code" href="classPythonScript.html">PythonScript</a>
00050 {
00051         <span class="keyword">friend</span> <span class="keywordtype">void</span>* <a class="code" href="classIncomingScript.html#n0">incomingscript_exec_handler</a>(<span class="keywordtype">void</span>*);
00052         <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="classIncomingScript.html#n1">incomingscript_cleanup_handler</a>(<span class="keywordtype">void</span>*);
00053 
00054         <span class="keyword">public</span>:
00065                 <a class="code" href="classIncomingScript.html#a0">IncomingScript</a>(ostream &amp;debug, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> debug_level, ostream &amp;error, <a class="code" href="classConnection.html">Connection</a> *<a class="code" href="classIncomingScript.html#r0">conn</a>, string incoming_script, PycStringIO_CAPI* cStringIO) <span class="keywordflow">throw</span> (<a class="code" href="classApplicationError.html">ApplicationError</a>);
00066 
00069                 <span class="keyword">virtual</span> <a class="code" href="classIncomingScript.html#a1">~IncomingScript</a>();
00070 
00071         <span class="keyword">private</span>:
00096                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classIncomingScript.html#d0">run</a>(<span class="keywordtype">void</span>) <span class="keywordflow">throw</span>();
00097 
<a name="l00098"></a><a class="code" href="classIncomingScript.html#r0">00098</a>                 <a class="code" href="classConnection.html">Connection</a> *conn; 
00099                 
<a name="l00100"></a><a class="code" href="classIncomingScript.html#r1">00100</a>                 pthread_t <a class="code" href="classIncomingScript.html#r1">thread_handle</a>; 
00101 };
00102 
00103 <span class="preprocessor">#endif</span>
00104 <span class="preprocessor"></span>
00105 <span class="comment">/* History</span>
00106 <span class="comment"></span>
00107 <span class="comment">$Log: incomingscript.h,v $</span>
00108 <span class="comment">Revision 1.1  2003/02/19 08:19:53  gernot</span>
00109 <span class="comment">Initial revision</span>
00110 <span class="comment"></span>
00111 <span class="comment">Revision 1.5  2003/02/10 14:17:09  ghillie</span>
00112 <span class="comment">merged from NATIVE_PTHREADS to HEAD</span>
00113 <span class="comment"></span>
00114 <span class="comment">Revision 1.4.2.2  2003/02/10 14:04:57  ghillie</span>
00115 <span class="comment">- made destructors virtual, otherwise wrong destructor is called!</span>
00116 <span class="comment"></span>
00117 <span class="comment">Revision 1.4.2.1  2003/02/09 15:03:41  ghillie</span>
00118 <span class="comment">- rewritten to use native pthread_* calls instead of CommonC++ Thread</span>
00119 <span class="comment"></span>
00120 <span class="comment">Revision 1.4  2003/01/18 12:53:06  ghillie</span>
00121 <span class="comment">- pass on reference to Python C API to PythonScript</span>
00122 <span class="comment"></span>
00123 <span class="comment">Revision 1.3  2003/01/04 16:00:53  ghillie</span>
00124 <span class="comment">- log improvements: log_level, timestamp</span>
00125 <span class="comment"></span>
00126 <span class="comment">Revision 1.2  2002/12/14 14:03:27  ghillie</span>
00127 <span class="comment">- added throw() declaration to run() method</span>
00128 <span class="comment"></span>
00129 <span class="comment">Revision 1.1  2002/12/10 15:01:08  ghillie</span>
00130 <span class="comment">- class IncomingScript now takes over the functionality of the old CallControl</span>
00131 <span class="comment">  class defined in callcontrol.*, but uses a base class now</span>
00132 <span class="comment"></span>
00133 <span class="comment">Revision 1.17  2002/12/09 15:24:21  ghillie</span>
00134 <span class="comment">- new parameter debug to constructor</span>
00135 <span class="comment">- doc changes</span>
00136 <span class="comment"></span>
00137 <span class="comment">Revision 1.16  2002/12/07 22:31:37  ghillie</span>
00138 <span class="comment">- remove unnecessary attributes py_state, py_dict, isRunning</span>
00139 <span class="comment">- added attribute incoming_script</span>
00140 <span class="comment"></span>
00141 <span class="comment">Revision 1.15  2002/12/05 15:53:41  ghillie</span>
00142 <span class="comment">- began restructuring for COnnection to self-delete after getting OK from FlowControl / CallControl</span>
00143 <span class="comment">- callCompleted() removed, not needed any more</span>
00144 <span class="comment"></span>
00145 <span class="comment">Revision 1.14  2002/12/02 12:23:06  ghillie</span>
00146 <span class="comment">- incoming_script is now a parameter to constructor</span>
00147 <span class="comment">- service parameter now uses constants from Connection::service_t</span>
00148 <span class="comment"></span>
00149 <span class="comment">Revision 1.13  2002/11/29 11:09:04  ghillie</span>
00150 <span class="comment">renamed CapiCom to CapiSuite (name conflict with MS crypto API :-( )</span>
00151 <span class="comment"></span>
00152 <span class="comment">Revision 1.12  2002/11/29 10:20:44  ghillie</span>
00153 <span class="comment">- updated docs, use doxygen format now</span>
00154 <span class="comment"></span>
00155 <span class="comment">Revision 1.11  2002/11/27 15:56:14  ghillie</span>
00156 <span class="comment">updated comments for doxygen</span>
00157 <span class="comment"></span>
00158 <span class="comment">Revision 1.10  2002/11/23 15:55:09  ghillie</span>
00159 <span class="comment">added missing (?) include</span>
00160 <span class="comment"></span>
00161 <span class="comment">Revision 1.9  2002/11/21 11:34:33  ghillie</span>
00162 <span class="comment">- new methods final() and callCompleted()</span>
00163 <span class="comment"></span>
00164 <span class="comment">Revision 1.8  2002/11/18 14:21:07  ghillie</span>
00165 <span class="comment">- moved global severity_t to ApplicationError::severity_t</span>
00166 <span class="comment">- added throw() declarations to header files</span>
00167 <span class="comment"></span>
00168 <span class="comment">Revision 1.7  2002/11/14 17:05:19  ghillie</span>
00169 <span class="comment">major structural changes - much is easier, nicer and better prepared for the future now:</span>
00170 <span class="comment">- added DisconnectLogical handler to CallInterface</span>
00171 <span class="comment">- DTMF handling moved from CallControl to Connection</span>
00172 <span class="comment">- new call module ConnectModule for establishing connection</span>
00173 <span class="comment">- python script reduced from 2 functions to one (callWaiting, callConnected</span>
00174 <span class="comment">  merged to callIncoming)</span>
00175 <span class="comment">- call modules implement the CallInterface now, not CallControl any more</span>
00176 <span class="comment">  =&gt; this freed CallControl from nearly all communication stuff</span>
00177 <span class="comment"></span>
00178 <span class="comment">Revision 1.6  2002/11/13 08:34:54  ghillie</span>
00179 <span class="comment">moved history to the bottom</span>
00180 <span class="comment"></span>
00181 <span class="comment">Revision 1.5  2002/11/12 15:48:07  ghillie</span>
00182 <span class="comment">added data in handler</span>
00183 <span class="comment"></span>
00184 <span class="comment">Revision 1.4  2002/10/31 12:35:58  ghillie</span>
00185 <span class="comment">added DTMF support</span>
00186 <span class="comment"></span>
00187 <span class="comment">Revision 1.3  2002/10/30 14:24:41  ghillie</span>
00188 <span class="comment">added support for python call handling before call is connected</span>
00189 <span class="comment"></span>
00190 <span class="comment">Revision 1.2  2002/10/27 12:47:20  ghillie</span>
00191 <span class="comment">- added multithread support for python</span>
00192 <span class="comment">- changed callcontrol reference to stay in the python namespace</span>
00193 <span class="comment">- changed ApplicationError to support differen severity</span>
00194 <span class="comment"></span>
00195 <span class="comment">Revision 1.1  2002/10/25 13:29:38  ghillie</span>
00196 <span class="comment">grouped files into subdirectories</span>
00197 <span class="comment"></span>
00198 <span class="comment">Revision 1.6  2002/10/23 15:40:15  ghillie</span>
00199 <span class="comment">added python integration...</span>
00200 <span class="comment"></span>
00201 <span class="comment">Revision 1.5  2002/10/23 14:17:41  ghillie</span>
00202 <span class="comment">added registerCallModule()</span>
00203 <span class="comment"></span>
00204 <span class="comment">Revision 1.4  2002/10/09 14:36:22  gernot</span>
00205 <span class="comment">added CallModule base class for all call handling modules</span>
00206 <span class="comment"></span>
00207 <span class="comment">Revision 1.3  2002/10/05 20:43:32  gernot</span>
00208 <span class="comment">quick'n'dirty, but WORKS</span>
00209 <span class="comment"></span>
00210 <span class="comment">Revision 1.2  2002/10/04 15:48:03  gernot</span>
00211 <span class="comment">structure changes completed &amp; compiles now!</span>
00212 <span class="comment"></span>
00213 <span class="comment">Revision 1.1  2002/10/04 13:28:43  gernot</span>
00214 <span class="comment">CallControll class added</span>
00215 <span class="comment"></span>
00216 <span class="comment">*/</span>
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Sun Nov 28 14:37:44 2004 for CapiSuite by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>