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 READDTMF_H 00018 #define READDTMF_H 00019 00020 #include "callmodule.h" 00021 00022 class Connection; 00023 00039 class ReadDTMF: public CallModule 00040 { 00041 public: 00050 ReadDTMF(Connection *conn, int timeout, int min_digits, int max_digits) throw (CapiWrongState); 00051 00059 void mainLoop() throw (); 00060 00063 void gotDTMF(); 00064 00071 void callDisconnectedLogical(); 00072 00079 void callDisconnectedPhysical(); 00080 00081 private: 00082 int digit_count, 00083 min_digits, 00084 max_digits; 00085 bool call_finished; 00086 }; 00087 00088 #endif 00089 00090 /* History 00091 00092 Old Log (for new changes see ChangeLog): 00093 00094 Revision 1.2 2003/10/03 14:56:40 gernot 00095 - partly implementation of a bigger semantic change: don't throw 00096 call finished exceptions in normal operation any longer; i.e. we only 00097 test for the connection at the begin of a command. This allows return 00098 values, e.g. for commands like capisuite.fax_receive() which were 00099 interrupted by an exception always in former CapiSuite versions and thus 00100 never returned. This is also a better and more logical use of exceptions 00101 IMO. ATTN: this is *far from stable* 00102 00103 Revision 1.1.1.1 2003/02/19 08:19:53 gernot 00104 initial checkin of 0.4 00105 00106 Revision 1.2 2002/11/29 10:28:34 ghillie 00107 - updated comments, use doxygen format now 00108 - removed unnecessary attribute again 00109 00110 Revision 1.1 2002/11/25 11:42:07 ghillie 00111 initial checkin 00112 00113 */