File: bolt-proxy.h

package info (click to toggle)
bolt 0.9.8-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,820 kB
  • sloc: ansic: 28,978; python: 2,817; xml: 460; javascript: 269; sh: 173; makefile: 14
file content (141 lines) | stat: -rw-r--r-- 5,668 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/*
 * Copyright © 2017 Red Hat, Inc
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *       Christian J. Kellner <christian@kellner.me>
 */

#pragma once

#include <gio/gio.h>
#include <bolt-glue.h>

G_BEGIN_DECLS

typedef struct BoltProxySignal
{

  const char *theirs;
  void (*handle)(GObject    *self,
                 GDBusProxy *bus_proxy,
                 GVariant   *params);

} BoltProxySignal;

#define BOLT_TYPE_PROXY (bolt_proxy_get_type ())
G_DECLARE_DERIVABLE_TYPE (BoltProxy, bolt_proxy, BOLT, PROXY, GDBusProxy)

typedef struct _BoltProxyClassPrivate BoltProxyClassPrivate;

struct _BoltProxyClass
{
  GDBusProxyClass parent;

  /*< private >*/
  BoltProxyClassPrivate *priv;

  /*< public >*/

  /* virtuals */
  const BoltProxySignal * (*get_dbus_signals) (guint *n);

  /* for the future */
  gpointer padding[10];
};

gboolean          bolt_proxy_set_wireconv (BoltProxy       *proxy,
                                           GParamSpec      *param_spec,
                                           const char      *custom_id,
                                           BoltConvToWire   to_wire,
                                           BoltConvFromWire from_wire,
                                           GError         **error);

void              bolt_proxy_property_getter (GObject    *object,
                                              guint       prop_id,
                                              GValue     *value,
                                              GParamSpec *spec);

gboolean          bolt_proxy_get_dbus_property (BoltProxy  *proxy,
                                                GParamSpec *spec,
                                                GValue     *value);

gboolean          bolt_proxy_has_name_owner (BoltProxy *proxy);

const char *      bolt_proxy_get_object_path (BoltProxy *proxy)
G_DEPRECATED_FOR (g_dbus_proxy_get_object_path);

gboolean          bolt_proxy_get_bool_by_pspec (gpointer    proxy,
                                                GParamSpec *spec);

gint              bolt_proxy_get_enum_by_pspec (gpointer    proxy,
                                                GParamSpec *spec);

guint             bolt_proxy_get_flags_by_pspec (gpointer    proxy,
                                                 GParamSpec *spec);

guint32           bolt_proxy_get_uint32_by_pspec (gpointer    proxy,
                                                  GParamSpec *spec);

gint64            bolt_proxy_get_int64_by_pspec (gpointer    proxy,
                                                 GParamSpec *spec);

guint64           bolt_proxy_get_uint64_by_pspec (gpointer    proxy,
                                                  GParamSpec *spec);

const char *      bolt_proxy_get_string_by_pspec (gpointer    proxy,
                                                  GParamSpec *spec);

char **           bolt_proxy_get_strv_by_pspec (gpointer    proxy,
                                                GParamSpec *spec);

gboolean          bolt_proxy_set_property (BoltProxy    *proxy,
                                           const char   *name,
                                           GVariant     *value,
                                           GCancellable *cancellable,
                                           GError      **error);

void              bolt_proxy_set_property_async (BoltProxy          *proxy,
                                                 const char         *name,
                                                 GVariant           *value,
                                                 GCancellable       *cancellable,
                                                 GAsyncReadyCallback callback,
                                                 gpointer            user_data);

gboolean         bolt_proxy_set_property_finish (GAsyncResult *res,
                                                 GError      **error);

gboolean         bolt_proxy_set (BoltProxy    *proxy,
                                 GParamSpec   *spec,
                                 const GValue *value,
                                 GCancellable *cancellable,
                                 GError      **error);

void             bolt_proxy_set_async (BoltProxy          *proxy,
                                       GParamSpec         *spec,
                                       const GValue       *value,
                                       GCancellable       *cancellable,
                                       GAsyncReadyCallback callback,
                                       gpointer            user_data);

gboolean         bolt_proxy_set_finish (GAsyncResult *res,
                                        GError      **error);

void              bolt_proxy_property_setter (GObject      *object,
                                              guint         prop_id,
                                              const GValue *value,
                                              GParamSpec   *spec);

G_END_DECLS