session.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. #include <stdint.h>
  12. #include <glib.h>
  13. struct obc_session;
  14. typedef void (*session_callback_t) (struct obc_session *session,
  15. struct obc_transfer *transfer,
  16. GError *err, void *user_data);
  17. struct obc_session *obc_session_create(const char *source,
  18. const char *destination,
  19. const char *service,
  20. uint8_t channel,
  21. const char *owner,
  22. session_callback_t function,
  23. void *user_data);
  24. struct obc_session *obc_session_ref(struct obc_session *session);
  25. void obc_session_unref(struct obc_session *session);
  26. void obc_session_shutdown(struct obc_session *session);
  27. int obc_session_set_owner(struct obc_session *session, const char *name,
  28. GDBusWatchFunction func);
  29. const char *obc_session_get_owner(struct obc_session *session);
  30. const char *obc_session_get_destination(struct obc_session *session);
  31. const char *obc_session_get_path(struct obc_session *session);
  32. const char *obc_session_get_target(struct obc_session *session);
  33. const char *obc_session_register(struct obc_session *session,
  34. GDBusDestroyFunction destroy);
  35. const void *obc_session_get_attribute(struct obc_session *session,
  36. int attribute_id);
  37. const char *obc_session_get_folder(struct obc_session *session);
  38. guint obc_session_queue(struct obc_session *session,
  39. struct obc_transfer *transfer,
  40. session_callback_t func, void *user_data,
  41. GError **err);
  42. guint obc_session_setpath(struct obc_session *session, const char *path,
  43. session_callback_t func, void *user_data,
  44. GError **err);
  45. guint obc_session_mkdir(struct obc_session *session, const char *folder,
  46. session_callback_t func, void *user_data,
  47. GError **err);
  48. guint obc_session_copy(struct obc_session *session, const char *srcname,
  49. const char *destname, session_callback_t func,
  50. void *user_data, GError **err);
  51. guint obc_session_move(struct obc_session *session, const char *srcname,
  52. const char *destname, session_callback_t func,
  53. void *user_data, GError **err);
  54. guint obc_session_delete(struct obc_session *session, const char *file,
  55. session_callback_t func, void *user_data,
  56. GError **err);
  57. void obc_session_cancel(struct obc_session *session, guint id,
  58. gboolean remove);