00001 /*! 00002 @class BlueLink 00003 @brief Stellt die Verbindung zum Telephon bereit. 00004 @author Thomas Gemperli, <bluephone@gemperli.net> 00005 @version 1.0 00006 @date 2004-08-03 00007 @par This program is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU General Public License. 00009 @file bluelink.h 00010 */ 00011 00012 00013 #ifndef BLUELINK_H 00014 #define BLUELINK_H 00015 00016 00017 /** 00018 * Ich benutze die ezV24 Bibliothek. 00019 * Das Ziel dieser Bibliothek ist die Bereitstellung eines einfachen Interfaces zur seriellen Schnittstelle unter Linux. 00020 * Dieses Ziel haben die Entwickler erreicht. Bleibt zu hoffen, dass diese Lib bald zum Standard Umfang jeder Distri gehoeren wird. 00021 */ 00022 #include <ezV24/ezV24.h> 00023 00024 00025 #include <qstring.h> 00026 #include <qstringlist.h> 00027 00028 00029 00030 /** 00031 * Diese Klasse stellt die serielle Verbindung zum Telephon bereit. 00032 * Als Traeger werden Bluetooth, IrDA und serielle Kabel unterstuetzt. 00033 */ 00034 class BlueLink 00035 { 00036 00037 00038 public: 00039 /** 00040 * Erstellt ein BlueLink Objekt. 00041 */ 00042 BlueLink(); 00043 00044 /** 00045 * BlueLink Destruktor 00046 */ 00047 ~BlueLink(); 00048 00049 /** 00050 * Diese Methode verbindet das rfcomm Device mit dem entfernten Bluetooth Device (dem Telephon). 00051 * Parameter: const QString& comDevice, btAddr 00052 */ 00053 int connectRfcomm(const QString&, const QString&); 00054 00055 /** 00056 * Diese Methode trennt die rfcomm Verbindung mit dem Telephon. 00057 * Parameter: const QString& comDevice 00058 */ 00059 int disconnectRfcomm(const QString&); 00060 00061 /** 00062 * Diese Methode erstellt die Verbindung zum Telephon. 00063 * Parameter: QString mit dem zu verwendenden Device, diese sind unter Linux normalerweise: 00064 * /dev/rfcomm0 fuer Bluetooth, /dev/ircomm0 fuer IrDA oder /dev/ttyS0 fuer ein serielles Kabel 00065 */ 00066 void connecttoPhone(const QString&); 00067 00068 /** 00069 * Diese Methode liefet einen Pointer auf einen v24_port_t zurueck. 00070 * Siehe http://ezv24.sourceforge.net/api-html fuer weitere Informationen. 00071 */ 00072 v24_port_t* getPort(); 00073 00074 /** 00075 * Diese Methode liefert den Status des Links zum Telephon zurueck. 00076 * Rueckgabewert: bool Status 00077 */ 00078 bool getState(); 00079 00080 /** 00081 * Diese Methode trennt die Verbindung zum Telephon. 00082 */ 00083 void disconnectPhone(); 00084 00085 /** 00086 * Diese Methode tauscht Informationen mit dem Telephon aus. 00087 * Parameter: v24_port_t* v24_port, QString Befehl . 00088 * Rueckgabewert: QStringList mit allen Antworten des Telephons. 00089 */ 00090 QStringList talktoPhone(v24_port_t*, const QString&); 00091 00092 00093 private: 00094 /** 00095 * Status Variable, sind wir am kommunizieren oder nicht? 00096 */ 00097 bool m_communicate; 00098 00099 /** 00100 * Status Variable, sind wir mit dem Telephon verbunden oder nicht? 00101 */ 00102 bool m_connected; 00103 00104 /** 00105 * Zeiger auf ezv24 Objekt "Port". 00106 * Siehe http://ezv24.sourceforge.net/api-html fuer weitere Informationen. 00107 */ 00108 v24_port_t *m_port; 00109 00110 /** 00111 * Beinhaltet die Antwort des Telephons. 00112 */ 00113 QStringList m_phoneAnswer; 00114 00115 /** 00116 * Beinhaltet den "New SMS Benachrichtigungs Modus" des Telephons. 00117 */ 00118 QString m_phoneMode; 00119 00120 /** 00121 * Beinhaltet die rfcomm Verbindungsparameter. 00122 */ 00123 QString m_rfcommCommand; 00124 00125 }; 00126 00127 #endif 00128
1.3.7