GW OBEX Library 0.64

gw-obex.h

Go to the documentation of this file.
00001 
00025 #ifndef _GW_OBEX_H_
00026 #define _GW_OBEX_H_
00027 
00028 #include <glib.h>
00029 #include <openobex/obex.h>
00030 
00040 #define GW_OBEX_ERROR_DISCONNECT        256
00041 
00043 #define GW_OBEX_ERROR_ABORT             257
00044 
00046 #define GW_OBEX_ERROR_INTERNAL          258
00047 
00049 #define GW_OBEX_ERROR_NO_SERVICE        259
00050 
00052 #define GW_OBEX_ERROR_CONNECT_FAILED    260
00053 
00055 #define GW_OBEX_ERROR_TIMEOUT           261
00056 
00058 #define GW_OBEX_ERROR_INVALID_DATA      262
00059 
00061 #define GW_OBEX_ERROR_INVALID_PARAMS    263
00062 
00064 #define GW_OBEX_ERROR_LOCAL_ACCESS      264
00065 
00067 #define GW_OBEX_ERROR_BUSY              265
00068 
00070 #define GW_OBEX_ERROR_NO_DATA           266
00071 
00072 
00076 #define GW_OBEX_UNKNOWN_LENGTH -1
00077 
00080 #define OBEX_FTP_UUID \
00081     "\xF9\xEC\x7B\xC4\x95\x3C\x11\xD2\x98\x4E\x52\x54\x00\xDC\x9E\x09"
00082 
00083 #define OBEX_FTP_UUID_LEN 16
00084 
00086 #define OBEX_PBAP_UUID \
00087     "\x79\x61\x35\xF0\xF0\xC5\x11\xD8\x09\x66\x08\x00\x20\x0C\x9A\x66"
00088 
00089 #define OBEX_PBAP_UUID_LEN 16
00090 
00092 #define OBEX_SYNC_UUID \
00093         "IRMC-SYNC"
00094 
00095 #define OBEX_SYNC_UUID_LEN 9
00096 
00098 typedef struct gw_obex GwObex;
00099 
00101 typedef struct gw_obex_xfer GwObexXfer;
00102 
00107 typedef void (*gw_obex_xfer_cb_t) (GwObexXfer *xfer,
00108                                    gpointer data);
00109 
00114 typedef void (*gw_obex_disconnect_cb_t) (GwObex *ctx,
00115                                          gpointer data);
00116 
00125 typedef void (*gw_obex_progress_cb_t) (GwObex *ctx, gint obex_cmd,
00126                                        gint current, gint target,
00127                                        gpointer data);
00128 
00136 typedef gboolean (*gw_obex_cancel_cb_t) (gpointer data);
00137 
00138 
00161 GwObex *gw_obex_setup_dev(const gchar *device,
00162                           const gchar *uuid,
00163                           gint uuid_len,
00164                           GMainContext *context,
00165                           gint *error);
00166 
00167 
00182 GwObex *gw_obex_setup_fd(int fd,
00183                          const gchar *uuid,
00184                          gint uuid_len,
00185                          GMainContext *context,
00186                          gint *error);
00187 
00188 
00194 void gw_obex_close(GwObex *ctx);
00195 
00212 void gw_obex_set_disconnect_callback(GwObex *ctx,
00213                                      gw_obex_disconnect_cb_t callback,
00214                                      gpointer data);
00215 
00216 
00224 void gw_obex_set_progress_callback(GwObex *ctx,
00225                                    gw_obex_progress_cb_t callback,
00226                                    gpointer data);
00227 
00228 
00240 void gw_obex_set_cancel_callback(GwObex *ctx,
00241                                  gw_obex_cancel_cb_t callback,
00242                                  gpointer data);
00243 
00264 gboolean gw_obex_get_capability(GwObex *ctx,
00265                                 gchar **cap,
00266                                 gint *cap_len,
00267                                 gint *error);
00268 
00269 
00281 gboolean gw_obex_get_file(GwObex *ctx,
00282                           const gchar *local,
00283                           const gchar *remote,
00284                           const gchar *type,
00285                           gint *error);
00286 
00287 
00299 gboolean gw_obex_put_file(GwObex *ctx,
00300                           const gchar *local,
00301                           const gchar *remote,
00302                           const gchar *type,
00303                           gint *error);
00304 
00305 
00317 gboolean gw_obex_get_fd(GwObex *ctx, gint fd,
00318                         const gchar *remote,
00319                         const gchar *type,
00320                         gint *error);
00321 
00333 gboolean gw_obex_put_fd(GwObex *ctx, gint fd,
00334                         const gchar *remote,
00335                         const gchar *type,
00336                         gint *error);
00337 
00352 gboolean gw_obex_get_buf(GwObex *ctx, const gchar *remote, const gchar *type,
00353                          gchar **buf, gint *buf_size, gint *error);
00354 
00355 
00370 gboolean gw_obex_put_buf(GwObex *ctx, const gchar *remote, const gchar *type,
00371                          const gchar *buf, gint buf_size, gint time, gint *error);
00372 
00373 
00390 gboolean gw_obex_get_buf_with_apparam(GwObex *ctx, const gchar *remote, const gchar *type,
00391                                       const guint8 *apparam, gint apparam_size,
00392                                       gchar **buf, gint *buf_size, gint *error);
00393 
00394 
00411 gboolean gw_obex_put_buf_with_apparam(GwObex *ctx, const gchar *remote, const gchar *type,
00412                                      const guint8 *apparam, gint apparam_size,
00413                                      const gchar *buf, gint buf_size, gint time, gint *error);
00414 
00415 
00425 gboolean gw_obex_chdir(GwObex *ctx, const gchar *dir, gint *error);
00426 
00427 
00436 gboolean gw_obex_mkdir(GwObex *ctx, const gchar *dir, gint *error);
00437 
00438 
00450 gboolean gw_obex_read_dir(GwObex *ctx, const gchar *dir,
00451                           gchar **buf, gint *buf_size, gint *error);
00452 
00453 
00462 gboolean gw_obex_delete(GwObex *ctx, const gchar *name, gint *error);
00463 
00464 
00474 gboolean gw_obex_move(GwObex *ctx, const gchar *src, const gchar *dst,
00475                       gint *error);
00476 
00477 
00487 gboolean gw_obex_copy(GwObex *ctx, const gchar *src, const gchar *dst,
00488                       gint *error);
00489 
00510 GwObexXfer *gw_obex_put_async(GwObex *ctx, const char *name, const char *type,
00511                               gint size, time_t time, gint *error);
00512 
00513 
00523 GwObexXfer *gw_obex_get_async(GwObex *ctx, const char *name, const char *type, gint *error);
00524 
00537 GwObexXfer *gw_obex_get_async_with_apparam(GwObex *ctx, const char *name, const char *type,
00538                 const guint8  *apparam, gint apparam_size, gint *error);
00539 
00540 
00556 void gw_obex_xfer_set_callback(GwObexXfer *xfer, gw_obex_xfer_cb_t cb, gpointer user_data);
00557 
00558 
00565 time_t gw_obex_xfer_object_time(GwObexXfer *xfer);
00566 
00567 
00574 gint gw_obex_xfer_object_size(GwObexXfer *xfer);
00575 
00576 
00584 unsigned char *gw_obex_xfer_object_apparam(GwObexXfer *xfer, size_t *apparam_size);
00585 
00586 
00593 gboolean gw_obex_xfer_object_done(GwObexXfer *xfer);
00594 
00595 
00606 gboolean gw_obex_xfer_write(GwObexXfer *xfer, const char *buf, gint buf_size,
00607                             gint *bytes_written, gint *error);
00608 
00621 gboolean gw_obex_xfer_read(GwObexXfer *xfer, char *buf, gint buf_size,
00622                            gint *bytes_read, gint *error);
00623 
00624 
00632 gboolean gw_obex_xfer_flush(GwObexXfer *xfer, gint *error);
00633 
00634 
00645 gboolean gw_obex_xfer_close(GwObexXfer *xfer, gint *error);
00646 
00647 
00659 gboolean gw_obex_xfer_abort(GwObexXfer *xfer, gint *error);
00660 
00661 
00666 void gw_obex_xfer_free(struct gw_obex_xfer *xfer);
00667 
00668 
00678 void gw_obex_xfer_set_blocking(GwObexXfer *xfer, gboolean block);
00679 
00682 #endif /* _GW_OBEX_H_ */
00683