gdbusmessage.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. /* GDBus - GLib D-Bus Library
  2. *
  3. * Copyright (C) 2008-2010 Red Hat, Inc.
  4. *
  5. * SPDX-License-Identifier: LGPL-2.1-or-later
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General
  18. * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  19. *
  20. * Author: David Zeuthen <davidz@redhat.com>
  21. */
  22. #ifndef __G_DBUS_MESSAGE_H__
  23. #define __G_DBUS_MESSAGE_H__
  24. #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
  25. #error "Only <gio/gio.h> can be included directly."
  26. #endif
  27. #include <gio/giotypes.h>
  28. G_BEGIN_DECLS
  29. #define G_TYPE_DBUS_MESSAGE (g_dbus_message_get_type ())
  30. #define G_DBUS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_MESSAGE, GDBusMessage))
  31. #define G_IS_DBUS_MESSAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_MESSAGE))
  32. GIO_AVAILABLE_IN_ALL
  33. GType g_dbus_message_get_type (void) G_GNUC_CONST;
  34. GIO_AVAILABLE_IN_ALL
  35. GDBusMessage *g_dbus_message_new (void);
  36. GIO_AVAILABLE_IN_ALL
  37. GDBusMessage *g_dbus_message_new_signal (const gchar *path,
  38. const gchar *interface_,
  39. const gchar *signal);
  40. GIO_AVAILABLE_IN_ALL
  41. GDBusMessage *g_dbus_message_new_method_call (const gchar *name,
  42. const gchar *path,
  43. const gchar *interface_,
  44. const gchar *method);
  45. GIO_AVAILABLE_IN_ALL
  46. GDBusMessage *g_dbus_message_new_method_reply (GDBusMessage *method_call_message);
  47. GIO_AVAILABLE_IN_ALL
  48. GDBusMessage *g_dbus_message_new_method_error (GDBusMessage *method_call_message,
  49. const gchar *error_name,
  50. const gchar *error_message_format,
  51. ...) G_GNUC_PRINTF(3, 4);
  52. GIO_AVAILABLE_IN_ALL
  53. GDBusMessage *g_dbus_message_new_method_error_valist (GDBusMessage *method_call_message,
  54. const gchar *error_name,
  55. const gchar *error_message_format,
  56. va_list var_args);
  57. GIO_AVAILABLE_IN_ALL
  58. GDBusMessage *g_dbus_message_new_method_error_literal (GDBusMessage *method_call_message,
  59. const gchar *error_name,
  60. const gchar *error_message);
  61. GIO_AVAILABLE_IN_ALL
  62. gchar *g_dbus_message_print (GDBusMessage *message,
  63. guint indent);
  64. GIO_AVAILABLE_IN_ALL
  65. gboolean g_dbus_message_get_locked (GDBusMessage *message);
  66. GIO_AVAILABLE_IN_ALL
  67. void g_dbus_message_lock (GDBusMessage *message);
  68. GIO_AVAILABLE_IN_ALL
  69. GDBusMessage *g_dbus_message_copy (GDBusMessage *message,
  70. GError **error);
  71. GIO_AVAILABLE_IN_ALL
  72. GDBusMessageByteOrder g_dbus_message_get_byte_order (GDBusMessage *message);
  73. GIO_AVAILABLE_IN_ALL
  74. void g_dbus_message_set_byte_order (GDBusMessage *message,
  75. GDBusMessageByteOrder byte_order);
  76. GIO_AVAILABLE_IN_ALL
  77. GDBusMessageType g_dbus_message_get_message_type (GDBusMessage *message);
  78. GIO_AVAILABLE_IN_ALL
  79. void g_dbus_message_set_message_type (GDBusMessage *message,
  80. GDBusMessageType type);
  81. GIO_AVAILABLE_IN_ALL
  82. GDBusMessageFlags g_dbus_message_get_flags (GDBusMessage *message);
  83. GIO_AVAILABLE_IN_ALL
  84. void g_dbus_message_set_flags (GDBusMessage *message,
  85. GDBusMessageFlags flags);
  86. GIO_AVAILABLE_IN_ALL
  87. guint32 g_dbus_message_get_serial (GDBusMessage *message);
  88. GIO_AVAILABLE_IN_ALL
  89. void g_dbus_message_set_serial (GDBusMessage *message,
  90. guint32 serial);
  91. GIO_AVAILABLE_IN_ALL
  92. GVariant *g_dbus_message_get_header (GDBusMessage *message,
  93. GDBusMessageHeaderField header_field);
  94. GIO_AVAILABLE_IN_ALL
  95. void g_dbus_message_set_header (GDBusMessage *message,
  96. GDBusMessageHeaderField header_field,
  97. GVariant *value);
  98. GIO_AVAILABLE_IN_ALL
  99. guchar *g_dbus_message_get_header_fields (GDBusMessage *message);
  100. GIO_AVAILABLE_IN_ALL
  101. GVariant *g_dbus_message_get_body (GDBusMessage *message);
  102. GIO_AVAILABLE_IN_ALL
  103. void g_dbus_message_set_body (GDBusMessage *message,
  104. GVariant *body);
  105. #ifdef G_OS_UNIX
  106. GIO_AVAILABLE_IN_ALL
  107. GUnixFDList *g_dbus_message_get_unix_fd_list (GDBusMessage *message);
  108. GIO_AVAILABLE_IN_ALL
  109. void g_dbus_message_set_unix_fd_list (GDBusMessage *message,
  110. GUnixFDList *fd_list);
  111. #endif /* G_OS_UNIX */
  112. GIO_AVAILABLE_IN_ALL
  113. guint32 g_dbus_message_get_reply_serial (GDBusMessage *message);
  114. GIO_AVAILABLE_IN_ALL
  115. void g_dbus_message_set_reply_serial (GDBusMessage *message,
  116. guint32 value);
  117. GIO_AVAILABLE_IN_ALL
  118. const gchar *g_dbus_message_get_interface (GDBusMessage *message);
  119. GIO_AVAILABLE_IN_ALL
  120. void g_dbus_message_set_interface (GDBusMessage *message,
  121. const gchar *value);
  122. GIO_AVAILABLE_IN_ALL
  123. const gchar *g_dbus_message_get_member (GDBusMessage *message);
  124. GIO_AVAILABLE_IN_ALL
  125. void g_dbus_message_set_member (GDBusMessage *message,
  126. const gchar *value);
  127. GIO_AVAILABLE_IN_ALL
  128. const gchar *g_dbus_message_get_path (GDBusMessage *message);
  129. GIO_AVAILABLE_IN_ALL
  130. void g_dbus_message_set_path (GDBusMessage *message,
  131. const gchar *value);
  132. GIO_AVAILABLE_IN_ALL
  133. const gchar *g_dbus_message_get_sender (GDBusMessage *message);
  134. GIO_AVAILABLE_IN_ALL
  135. void g_dbus_message_set_sender (GDBusMessage *message,
  136. const gchar *value);
  137. GIO_AVAILABLE_IN_ALL
  138. const gchar *g_dbus_message_get_destination (GDBusMessage *message);
  139. GIO_AVAILABLE_IN_ALL
  140. void g_dbus_message_set_destination (GDBusMessage *message,
  141. const gchar *value);
  142. GIO_AVAILABLE_IN_ALL
  143. const gchar *g_dbus_message_get_error_name (GDBusMessage *message);
  144. GIO_AVAILABLE_IN_ALL
  145. void g_dbus_message_set_error_name (GDBusMessage *message,
  146. const gchar *value);
  147. GIO_AVAILABLE_IN_ALL
  148. const gchar *g_dbus_message_get_signature (GDBusMessage *message);
  149. GIO_AVAILABLE_IN_ALL
  150. void g_dbus_message_set_signature (GDBusMessage *message,
  151. const gchar *value);
  152. GIO_AVAILABLE_IN_ALL
  153. guint32 g_dbus_message_get_num_unix_fds (GDBusMessage *message);
  154. GIO_AVAILABLE_IN_ALL
  155. void g_dbus_message_set_num_unix_fds (GDBusMessage *message,
  156. guint32 value);
  157. GIO_AVAILABLE_IN_ALL
  158. const gchar *g_dbus_message_get_arg0 (GDBusMessage *message);
  159. GIO_AVAILABLE_IN_2_80
  160. const gchar *g_dbus_message_get_arg0_path (GDBusMessage *message);
  161. GIO_AVAILABLE_IN_ALL
  162. GDBusMessage *g_dbus_message_new_from_blob (guchar *blob,
  163. gsize blob_len,
  164. GDBusCapabilityFlags capabilities,
  165. GError **error);
  166. GIO_AVAILABLE_IN_ALL
  167. gssize g_dbus_message_bytes_needed (guchar *blob,
  168. gsize blob_len,
  169. GError **error);
  170. GIO_AVAILABLE_IN_ALL
  171. guchar *g_dbus_message_to_blob (GDBusMessage *message,
  172. gsize *out_size,
  173. GDBusCapabilityFlags capabilities,
  174. GError **error);
  175. GIO_AVAILABLE_IN_ALL
  176. gboolean g_dbus_message_to_gerror (GDBusMessage *message,
  177. GError **error);
  178. G_END_DECLS
  179. #endif /* __G_DBUS_MESSAGE_H__ */