Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-3.0-or-later
2 : : // SPDX-FileCopyrightText: Andy Holmes <andrew.g.r.holmes@gmail.com>
3 : :
4 : : #pragma once
5 : :
6 : : #if !defined (VALENT_INSIDE) && !defined (VALENT_COMPILATION)
7 : : # error "Only <valent.h> can be included directly."
8 : : #endif
9 : :
10 : : #include "../core/valent-extension.h"
11 : : #include "valent-channel.h"
12 : :
13 : : G_BEGIN_DECLS
14 : :
15 : : #define VALENT_TYPE_CHANNEL_SERVICE (valent_channel_service_get_type())
16 : :
17 : : VALENT_AVAILABLE_IN_1_0
18 [ + - + - : 178 : G_DECLARE_DERIVABLE_TYPE (ValentChannelService, valent_channel_service, VALENT, CHANNEL_SERVICE, ValentExtension)
+ - + - ]
19 : :
20 : : struct _ValentChannelServiceClass
21 : : {
22 : : ValentExtensionClass parent_class;
23 : :
24 : : /* virtual functions */
25 : : void (*build_identity) (ValentChannelService *service);
26 : : void (*identify) (ValentChannelService *service,
27 : : const char *target);
28 : :
29 : : /* signals */
30 : : void (*channel) (ValentChannelService *service,
31 : : ValentChannel *channel);
32 : :
33 : : /*< private >*/
34 : : gpointer padding[8];
35 : : };
36 : :
37 : : VALENT_AVAILABLE_IN_1_0
38 : : void valent_channel_service_channel (ValentChannelService *service,
39 : : ValentChannel *channel);
40 : : VALENT_AVAILABLE_IN_1_0
41 : : GTlsCertificate * valent_channel_service_ref_certificate (ValentChannelService *self);
42 : : VALENT_AVAILABLE_IN_1_0
43 : : char * valent_channel_service_dup_id (ValentChannelService *service);
44 : : VALENT_AVAILABLE_IN_1_0
45 : : JsonNode * valent_channel_service_ref_identity (ValentChannelService *service);
46 : : VALENT_AVAILABLE_IN_1_0
47 : : const char * valent_channel_service_get_name (ValentChannelService *service);
48 : : VALENT_AVAILABLE_IN_1_0
49 : : void valent_channel_service_set_name (ValentChannelService *service,
50 : : const char *name);
51 : : VALENT_AVAILABLE_IN_1_0
52 : : void valent_channel_service_build_identity (ValentChannelService *service);
53 : : VALENT_AVAILABLE_IN_1_0
54 : : void valent_channel_service_identify (ValentChannelService *service,
55 : : const char *target);
56 : :
57 : : G_END_DECLS
58 : :
|