File: audiosend_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 (137 lines) | stat: -rw-r--r-- 10,439 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
<!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: audiosend.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>audiosend.h</h1><a href="audiosend_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 AUDIOSEND_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define AUDIOSEND_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include &lt;string&gt;</span>
00021 <span class="preprocessor">#include "<a class="code" href="callmodule_8h.html">callmodule.h</a>"</span>
00022 
00023 <span class="keyword">class </span><a class="code" href="classConnection.html">Connection</a>;
00024 
00025 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
00026 
<a name="l00040"></a><a class="code" href="classAudioSend.html">00040</a> <span class="keyword">class </span><a class="code" href="classAudioSend.html">AudioSend</a>: <span class="keyword">public</span> <a class="code" href="classCallModule.html">CallModule</a>
00041 {
00042         <span class="keyword">public</span>:
00050                 <a class="code" href="classAudioSend.html#a0">AudioSend</a>(<a class="code" href="classConnection.html">Connection</a> *conn, string <a class="code" href="classAudioSend.html#r0">file</a>, <span class="keywordtype">bool</span> DTMF_exit) <span class="keywordflow">throw</span> (<a class="code" href="classCapiExternalError.html">CapiExternalError</a>);
00051 
00059                 <span class="keywordtype">void</span> <a class="code" href="classAudioSend.html#a1">mainLoop</a>() <span class="keywordflow">throw</span> (<a class="code" href="classCapiError.html">CapiError</a>,<a class="code" href="classCapiWrongState.html">CapiWrongState</a>,<a class="code" href="classCapiExternalError.html">CapiExternalError</a>,<a class="code" href="classCapiMsgError.html">CapiMsgError</a>);
00060 
00064                 <span class="keywordtype">void</span> <a class="code" href="classAudioSend.html#a2">transmissionComplete</a>();
00065 
00070                 <span class="keywordtype">long</span> <a class="code" href="classAudioSend.html#a3">duration</a>();
00071 
00072         <span class="keyword">private</span>:
<a name="l00073"></a><a class="code" href="classAudioSend.html#r0">00073</a>                 string file; 
<a name="l00074"></a><a class="code" href="classAudioSend.html#r1">00074</a>                 <span class="keywordtype">long</span> <a class="code" href="classAudioSend.html#r1">start_time</a>; 
00075 };
00076 
00077 <span class="preprocessor">#endif</span>
00078 <span class="preprocessor"></span>
00079 <span class="comment">/* History</span>
00080 <span class="comment"></span>
00081 <span class="comment">$Log: audiosend.h,v $</span>
00082 <span class="comment">Revision 1.1  2003/02/19 08:19:53  gernot</span>
00083 <span class="comment">Initial revision</span>
00084 <span class="comment"></span>
00085 <span class="comment">Revision 1.13  2002/12/04 11:38:50  ghillie</span>
00086 <span class="comment">- added time measurement: save time in start_time at the begin of mainLoop() and return difference to getTime() in duration()</span>
00087 <span class="comment"></span>
00088 <span class="comment">Revision 1.12  2002/12/02 12:32:21  ghillie</span>
00089 <span class="comment">renamed Connection::SPEECH to Connection::VOICE</span>
00090 <span class="comment"></span>
00091 <span class="comment">Revision 1.11  2002/11/29 10:27:44  ghillie</span>
00092 <span class="comment">- updated comments, use doxygen format now</span>
00093 <span class="comment"></span>
00094 <span class="comment">Revision 1.10  2002/11/25 21:00:53  ghillie</span>
00095 <span class="comment">- improved documentation, now doxygen-readabl</span>
00096 <span class="comment"></span>
00097 <span class="comment">Revision 1.9  2002/11/25 11:54:35  ghillie</span>
00098 <span class="comment">- tests for speech mode before receiving now</span>
00099 <span class="comment">- small performance improvement (use string::empty() instead of comparison to "")</span>
00100 <span class="comment"></span>
00101 <span class="comment">Revision 1.8  2002/11/22 15:16:20  ghillie</span>
00102 <span class="comment">added support for finishing when DTMF is received</span>
00103 <span class="comment"></span>
00104 <span class="comment">Revision 1.7  2002/11/21 15:32:40  ghillie</span>
00105 <span class="comment">- moved code from constructor/destructor to overwritten mainLoop() method</span>
00106 <span class="comment"></span>
00107 <span class="comment">Revision 1.6  2002/11/19 15:57:19  ghillie</span>
00108 <span class="comment">- Added missing throw() declarations</span>
00109 <span class="comment">- phew. Added error handling. All exceptions are caught now.</span>
00110 <span class="comment"></span>
00111 <span class="comment">Revision 1.5  2002/11/14 17:05:19  ghillie</span>
00112 <span class="comment">major structural changes - much is easier, nicer and better prepared for the future now:</span>
00113 <span class="comment">- added DisconnectLogical handler to CallInterface</span>
00114 <span class="comment">- DTMF handling moved from CallControl to Connection</span>
00115 <span class="comment">- new call module ConnectModule for establishing connection</span>
00116 <span class="comment">- python script reduced from 2 functions to one (callWaiting, callConnected</span>
00117 <span class="comment">  merged to callIncoming)</span>
00118 <span class="comment">- call modules implement the CallInterface now, not CallControl any more</span>
00119 <span class="comment">  =&gt; this freed CallControl from nearly all communication stuff</span>
00120 <span class="comment"></span>
00121 <span class="comment">Revision 1.4  2002/11/13 15:26:28  ghillie</span>
00122 <span class="comment">removed unnecessary member attribute filename</span>
00123 <span class="comment"></span>
00124 <span class="comment">Revision 1.3  2002/11/13 08:34:54  ghillie</span>
00125 <span class="comment">moved history to the bottom</span>
00126 <span class="comment"></span>
00127 <span class="comment">Revision 1.2  2002/10/29 14:28:22  ghillie</span>
00128 <span class="comment">added stop_file_* calls to make sure transmission is cancelled when it's time...</span>
00129 <span class="comment"></span>
00130 <span class="comment">Revision 1.1  2002/10/25 13:29:39  ghillie</span>
00131 <span class="comment">grouped files into subdirectories</span>
00132 <span class="comment"></span>
00133 <span class="comment">Revision 1.10  2002/10/23 15:37:50  ghillie</span>
00134 <span class="comment">typo...</span>
00135 <span class="comment"></span>
00136 <span class="comment">Revision 1.9  2002/10/23 14:10:27  ghillie</span>
00137 <span class="comment">callmodules must register itself at connection class now</span>
00138 <span class="comment"></span>
00139 <span class="comment">Revision 1.8  2002/10/10 12:45:40  gernot</span>
00140 <span class="comment">added AudioReceive module, some small details changed</span>
00141 <span class="comment"></span>
00142 <span class="comment">Revision 1.7  2002/10/09 14:36:22  gernot</span>
00143 <span class="comment">added CallModule base class for all call handling modules</span>
00144 <span class="comment"></span>
00145 <span class="comment">Revision 1.6  2002/10/05 20:43:32  gernot</span>
00146 <span class="comment">quick'n'dirty, but WORKS</span>
00147 <span class="comment"></span>
00148 <span class="comment">Revision 1.5  2002/10/04 15:48:03  gernot</span>
00149 <span class="comment">structure changes completed &amp; compiles now!</span>
00150 <span class="comment"></span>
00151 <span class="comment">Revision 1.4  2002/10/04 13:27:15  gernot</span>
00152 <span class="comment">some restructuring to get it to a working state ;-)</span>
00153 <span class="comment"></span>
00154 <span class="comment">does not do anything useful yet nor does it even compile...</span>
00155 <span class="comment"></span>
00156 <span class="comment">Revision 1.3  2002/10/02 14:10:07  gernot</span>
00157 <span class="comment">first version</span>
00158 <span class="comment"></span>
00159 <span class="comment">Revision 1.2  2002/10/01 09:02:04  gernot</span>
00160 <span class="comment">changes for compilation with gcc3.2</span>
00161 <span class="comment"></span>
00162 <span class="comment">Revision 1.1  2002/09/22 14:55:21  gernot</span>
00163 <span class="comment">adding audio send module</span>
00164 <span class="comment"></span>
00165 <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>