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 <json-glib/json-glib.h>
11 : :
12 : : #include "../core/valent-context.h"
13 : :
14 : : G_BEGIN_DECLS
15 : :
16 : : #define VALENT_TYPE_CHANNEL (valent_channel_get_type())
17 : :
18 : : VALENT_AVAILABLE_IN_1_0
19 [ + - + - : 2778 : G_DECLARE_DERIVABLE_TYPE (ValentChannel, valent_channel, VALENT, CHANNEL, ValentObject)
+ - + - +
- ]
20 : :
21 : : struct _ValentChannelClass
22 : : {
23 : : ValentObjectClass parent_class;
24 : :
25 : : /* virtual functions */
26 : : GIOStream * (*download) (ValentChannel *channel,
27 : : JsonNode *packet,
28 : : GCancellable *cancellable,
29 : : GError **error);
30 : : void (*download_async) (ValentChannel *channel,
31 : : JsonNode *packet,
32 : : GCancellable *cancellable,
33 : : GAsyncReadyCallback callback,
34 : : gpointer user_data);
35 : : GIOStream * (*download_finish) (ValentChannel *channel,
36 : : GAsyncResult *result,
37 : : GError **error);
38 : : GIOStream * (*upload) (ValentChannel *channel,
39 : : JsonNode *packet,
40 : : GCancellable *cancellable,
41 : : GError **error);
42 : : void (*upload_async) (ValentChannel *channel,
43 : : JsonNode *packet,
44 : : GCancellable *cancellable,
45 : : GAsyncReadyCallback callback,
46 : : gpointer user_data);
47 : : GIOStream * (*upload_finish) (ValentChannel *channel,
48 : : GAsyncResult *result,
49 : : GError **error);
50 : : void (*store_data) (ValentChannel *channel,
51 : : ValentContext *context);
52 : :
53 : : /*< private >*/
54 : : gpointer padding[8];
55 : : };
56 : :
57 : :
58 : : VALENT_AVAILABLE_IN_1_0
59 : : GIOStream * valent_channel_ref_base_stream (ValentChannel *channel);
60 : : VALENT_AVAILABLE_IN_1_0
61 : : GTlsCertificate * valent_channel_get_certificate (ValentChannel *channel);
62 : : VALENT_AVAILABLE_IN_1_0
63 : : JsonNode * valent_channel_get_identity (ValentChannel *channel);
64 : : VALENT_AVAILABLE_IN_1_0
65 : : GTlsCertificate * valent_channel_get_peer_certificate (ValentChannel *channel);
66 : : VALENT_AVAILABLE_IN_1_0
67 : : JsonNode * valent_channel_get_peer_identity (ValentChannel *channel);
68 : : VALENT_AVAILABLE_IN_1_0
69 : : const char * valent_channel_get_verification_key (ValentChannel *channel);
70 : : VALENT_AVAILABLE_IN_1_0
71 : : GIOStream * valent_channel_download (ValentChannel *channel,
72 : : JsonNode *packet,
73 : : GCancellable *cancellable,
74 : : GError **error);
75 : : VALENT_AVAILABLE_IN_1_0
76 : : void valent_channel_download_async (ValentChannel *channel,
77 : : JsonNode *packet,
78 : : GCancellable *cancellable,
79 : : GAsyncReadyCallback callback,
80 : : gpointer user_data);
81 : : VALENT_AVAILABLE_IN_1_0
82 : : GIOStream * valent_channel_download_finish (ValentChannel *channel,
83 : : GAsyncResult *result,
84 : : GError **error);
85 : : VALENT_AVAILABLE_IN_1_0
86 : : GIOStream * valent_channel_upload (ValentChannel *channel,
87 : : JsonNode *packet,
88 : : GCancellable *cancellable,
89 : : GError **error);
90 : : VALENT_AVAILABLE_IN_1_0
91 : : void valent_channel_upload_async (ValentChannel *channel,
92 : : JsonNode *packet,
93 : : GCancellable *cancellable,
94 : : GAsyncReadyCallback callback,
95 : : gpointer user_data);
96 : : VALENT_AVAILABLE_IN_1_0
97 : : GIOStream * valent_channel_upload_finish (ValentChannel *channel,
98 : : GAsyncResult *result,
99 : : GError **error);
100 : : VALENT_AVAILABLE_IN_1_0
101 : : void valent_channel_store_data (ValentChannel *channel,
102 : : ValentContext *context);
103 : : VALENT_AVAILABLE_IN_1_0
104 : : void valent_channel_read_packet (ValentChannel *channel,
105 : : GCancellable *cancellable,
106 : : GAsyncReadyCallback callback,
107 : : gpointer user_data);
108 : : VALENT_AVAILABLE_IN_1_0
109 : : JsonNode * valent_channel_read_packet_finish (ValentChannel *channel,
110 : : GAsyncResult *result,
111 : : GError **error);
112 : : VALENT_AVAILABLE_IN_1_0
113 : : void valent_channel_write_packet (ValentChannel *channel,
114 : : JsonNode *packet,
115 : : GCancellable *cancellable,
116 : : GAsyncReadyCallback callback,
117 : : gpointer user_data);
118 : : VALENT_AVAILABLE_IN_1_0
119 : : gboolean valent_channel_write_packet_finish (ValentChannel *channel,
120 : : GAsyncResult *result,
121 : : GError **error);
122 : : VALENT_AVAILABLE_IN_1_0
123 : : gboolean valent_channel_close (ValentChannel *channel,
124 : : GCancellable *cancellable,
125 : : GError **error);
126 : : VALENT_AVAILABLE_IN_1_0
127 : : void valent_channel_close_async (ValentChannel *channel,
128 : : GCancellable *cancellable,
129 : : GAsyncReadyCallback callback,
130 : : gpointer user_data);
131 : : VALENT_AVAILABLE_IN_1_0
132 : : gboolean valent_channel_close_finish (ValentChannel *channel,
133 : : GAsyncResult *result,
134 : : GError **error);
135 : :
136 : : G_END_DECLS
137 : :
|