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

blueobex.h

00001 /*! 00002 @class BlueObex 00003 @brief Stellt OpenOBEX zur Verfuegung. Diese "Klasse" ist aus einer OpenOBEX Demo App entstanden. 00004 @author Thomas Gemperli, <bluephone@gemperli.net> 00005 @version 1.0 00006 @date 2004-08-08 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 blueobex.h 00010 */ 00011 00012 00013 #ifndef BLUEOBEX_H 00014 #define BLUEOBEX_H 00015 00016 00017 /** 00018 * Ich benutze die OpenOBEX C Api. 00019 * Damit der Linker die Funktionen unterscheiden kann rsp. damit der cpp Compiler 00020 * diese nicht irgendwie benennt und so den Linker aus dem Tritt bringt, hier ein extern "C" 00021 */ 00022 extern "C" 00023 { 00024 #include <openobex/obex.h> 00025 } 00026 00027 00028 /** 00029 * Dieses enum teilt Obex mit, ueber welche Schnittstelle (rsp. Protokoll) kommuniziert wird. 00030 */ 00031 enum session_transport 00032 { 00033 TRANS_NONE, 00034 TRANS_TCP, 00035 TRANS_IRDA, 00036 TRANS_SERIAL 00037 }; 00038 00039 00040 /** 00041 * Dieses enum teilt Obex mit, was getan werden soll (nichts, empfangen oder senden). 00042 */ 00043 enum session_operation 00044 { 00045 OPERATION_NONE, 00046 OPERATION_BACKUP, 00047 OPERATION_SEND 00048 }; 00049 00050 00051 /** 00052 * Dieses enum teilt Obex mit, was empfangen oder gesendet werden soll. 00053 */ 00054 enum session_target 00055 { 00056 TARGET_NONE, 00057 TARGET_PHONEBOOK, 00058 TARGET_CAL, 00059 TARGET_ALL 00060 }; 00061 00062 00063 /** 00064 * Enthaelt alle Daten zu einer Obex Session. 00065 * Dieses Struktur und die folgenden Funktionen sind aus einer OpenOBEX Demo Applikation entstanden. 00066 * Sie findet sich, in aehnlicher Form, in vielen Applikationen, die OpenOBEX verwenden. 00067 * Ich muss gestehen, dass meine C (ohne ++) Kenntnisse nicht ausreichen, um wirklich 00068 * alles dieser API zu verstehen. 00069 * Zu OpenOBEX existiert leider keine (gute) Dokumentation, wie z.B. zu QT oder ezV24 00070 */ 00071 struct BlueObex 00072 { 00073 int connected; 00074 bool client_done; 00075 enum session_transport transport; 00076 enum session_operation operation; 00077 enum session_target target; 00078 const char *filename; 00079 }; 00080 00081 00082 00083 /** 00084 * Initialisiert Obex mit allen benoetigen Parametern. 00085 */ 00086 obex_t* obexInit(struct BlueObex *myObex, int method, const char *address, int channel); 00087 00088 00089 /** 00090 * Stellt eine Obex Verbindung zur Gegenstelle her. 00091 */ 00092 int obexConnect(obex_t *handle); 00093 00094 00095 /** 00096 * Behandelt ein Obex Ereigniss. 00097 */ 00098 void obexEvent(obex_t *handle, obex_object_t *object, int mode, int event, int obex_cmd, int obex_rsp); 00099 00100 00101 /** 00102 * Liest eine Datei in einen Buffer ein und stellt sie somit Obex zur Verfuegung, dass sie gesendet werden kann. 00103 */ 00104 char* obexPutReadFile(const char *filename, int *length); 00105 00106 00107 /** 00108 * Sendet der Gegenstelle eine Datei. 00109 */ 00110 int obexPutfile(obex_t *handle, struct BlueObex *s, const char *name); 00111 00112 00113 /** 00114 * Behandelt das Warten auf die Bestaetigung der Gegenstelle. 00115 */ 00116 void syncwait(obex_t *handle); 00117 00118 00119 /** 00120 * Beendet ein Obex Ereigniss. 00121 */ 00122 void obexEventDone(obex_t *handle, obex_object_t *object, int obex_cmd, int obex_rsp); 00123 00124 00125 /** 00126 * Trennt eine Obex Verbindung. 00127 */ 00128 int obexDisconnect(obex_t *handle); 00129 00130 00131 00132 #endif 00133 00134

Generated on Tue Aug 17 14:42:25 2004 for BluePhone by doxygen 1.3.7