transfer.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. *
  4. * OBEX Client
  5. *
  6. * Copyright (C) 2007-2010 Marcel Holtmann <marcel@holtmann.org>
  7. * Copyright (C) 2011-2012 BMW Car IT GmbH. All rights reserved.
  8. *
  9. *
  10. */
  11. struct obc_transfer;
  12. typedef void (*transfer_callback_t) (struct obc_transfer *transfer,
  13. GError *err, void *user_data);
  14. struct obc_transfer *obc_transfer_get(const char *type, const char *name,
  15. const char *filename, GError **err);
  16. struct obc_transfer *obc_transfer_put(const char *type, const char *name,
  17. const char *filename,
  18. const void *contents, size_t size,
  19. GError **err);
  20. gboolean obc_transfer_register(struct obc_transfer *transfer,
  21. DBusConnection *conn,
  22. const char *session,
  23. const char *owner,
  24. GError **err);
  25. void obc_transfer_unregister(struct obc_transfer *transfer);
  26. gboolean obc_transfer_set_callback(struct obc_transfer *transfer,
  27. transfer_callback_t func,
  28. void *user_data);
  29. gboolean obc_transfer_start(struct obc_transfer *transfer, void *obex,
  30. GError **err);
  31. guint8 obc_transfer_get_operation(struct obc_transfer *transfer);
  32. void obc_transfer_set_apparam(struct obc_transfer *transfer, void *data);
  33. void *obc_transfer_get_apparam(struct obc_transfer *transfer);
  34. int obc_transfer_get_contents(struct obc_transfer *transfer, char **contents,
  35. size_t *size);
  36. const char *obc_transfer_get_path(struct obc_transfer *transfer);
  37. gint64 obc_transfer_get_size(struct obc_transfer *transfer);
  38. DBusMessage *obc_transfer_create_dbus_reply(struct obc_transfer *transfer,
  39. DBusMessage *message);