1 /* libepc-1.0.vapi generated by lt-vapigen, do not modify. */
3 [CCode (cprefix = "Epc", lower_case_cprefix = "epc_")]
5 [CCode (cprefix = "EPC_ADDRESS_", cheader_filename = "libepc/enums.h")]
6 public enum AddressFamily {
11 [CCode (cprefix = "EPC_COLLISIONS_", cheader_filename = "libepc/enums.h")]
12 public enum CollisionHandling {
17 [CCode (cprefix = "EPC_PROTOCOL_", cheader_filename = "libepc/enums.h")]
18 public enum Protocol {
23 [CCode (cprefix = "EPC_AUTH_", cheader_filename = "libepc/enums.h")]
25 public enum AuthFlags {
30 [CCode (cheader_filename = "libepc/publisher.h")]
31 public class AuthContext {
32 public bool check_password (string password);
33 public weak string get_key ();
34 public weak string get_password ();
35 public weak Epc.Publisher get_publisher ();
38 [CCode (ref_function = "epc_contents_ref", unref_function = "epc_contents_unref", cheader_filename = "libepc/contents.h")]
39 public class Contents {
40 public void* get_data (ulong length);
41 public weak string get_mime_type ();
42 public bool is_stream ();
43 public Contents (string type, void* data, long length, GLib.DestroyNotify destroy_data);
44 public Contents.dup (string type, void* data, long length);
45 public static weak Epc.Contents stream_new (string type, Epc.ContentsReadFunc callback, GLib.DestroyNotify destroy_data);
46 public void* stream_read (ulong length);
49 [CCode (ref_function = "epc_service_info_ref", unref_function = "epc_service_info_unref", cheader_filename = "libepc/service-info.h")]
50 public class ServiceInfo : GLib.Boxed {
51 public Epc.AddressFamily get_address_family ();
52 public weak string get_detail (string name);
53 public weak string get_host ();
54 public weak string get_interface ();
55 public uint get_port ();
56 public weak string get_service_type ();
58 [CCode (cheader_filename = "libepc/consumer.h")]
59 public class Consumer : GLib.Object {
60 public weak string get_password ();
61 public Epc.Protocol get_protocol ();
62 public weak string get_username ();
63 public bool is_publisher_resolved ();
64 public weak GLib.List list (string pattern) throws GLib.Error;
65 public void* lookup (string key, out weak ulong? length) throws GLib.Error;
66 public Consumer (Epc.ServiceInfo service);
67 public Consumer.for_name (string name);
68 public Consumer.for_name_full (string name, string application, string domain);
69 public bool resolve_publisher (uint timeout);
70 public void set_password (string password);
71 public void set_protocol (Epc.Protocol protocol);
72 public void set_username (string username);
74 public string application { get; construct; }
76 public string domain { get; construct; }
78 public string hostname { get; construct; }
80 public string name { get; construct; }
81 public string password { get; set construct; }
83 public string path { get; construct; }
85 public int port { get; construct; }
86 public Epc.Protocol protocol { get; set construct; }
87 public string username { get; set construct; }
88 public virtual signal bool authenticate (string realm);
89 public virtual signal void publisher_resolved (Epc.Protocol protocol, string hostname, uint port);
91 [CCode (cheader_filename = "libepc/dispatcher.h")]
92 public class Dispatcher : GLib.Object {
93 public void add_service (Epc.AddressFamily protocol, string type, string domain, string host, ushort port);
94 public void add_service_subtype (string type, string subtype);
95 public Epc.CollisionHandling get_collision_handling ();
96 public weak string get_cookie ();
97 public weak string get_name ();
98 public Dispatcher (string name);
100 public bool run () throws GLib.Error;
101 public void set_collision_handling (Epc.CollisionHandling method);
102 public void set_cookie (string cookie);
103 public void set_name (string name);
104 public void set_service_details (string type);
105 public Epc.CollisionHandling collision_handling { get; set construct; }
106 public string cookie { get; set construct; }
107 public string name { get; set construct; }
109 [CCode (cheader_filename = "libepc/publisher.h")]
110 public class Publisher : GLib.Object {
111 public void add (string key, void* data, long length);
112 public void add_bookmark (string key, string label);
113 public void add_file (string key, string filename);
114 public void add_handler (string key, Epc.ContentsHandler handler, GLib.DestroyNotify destroy_data);
115 public static weak string expand_name (string name) throws GLib.Error;
116 public Epc.AuthFlags get_auth_flags ();
117 public weak string get_certificate_file ();
118 public Epc.CollisionHandling get_collision_handling ();
119 public weak string get_contents_path ();
120 public weak string get_path (string key);
121 public weak string get_private_key_file ();
122 public Epc.Protocol get_protocol ();
123 public weak string get_service_cookie ();
124 public weak string get_service_domain ();
125 public weak string get_service_name ();
126 public weak string get_uri (string key) throws GLib.Error;
127 public bool has_key (string key);
128 public weak GLib.List list (string pattern);
129 public void* lookup (string key);
130 public Publisher (string? name, string application, string? domain);
132 public bool remove (string key);
133 public bool run () throws GLib.Error;
134 public bool run_async () throws GLib.Error;
135 public void set_auth_flags (Epc.AuthFlags flags);
136 public void set_auth_handler (string key, Epc.AuthHandler handler, GLib.DestroyNotify destroy_data);
137 public void set_collision_handling (Epc.CollisionHandling method);
138 public void set_contents_path (string path);
139 public void set_credentials (string certfile, string keyfile);
140 public void set_protocol (Epc.Protocol protocol);
141 public void set_service_cookie (string cookie);
142 public void set_service_name (string name);
144 public string application { get; set construct; }
145 public Epc.AuthFlags auth_flags { get; set construct; }
147 public string certificate_file { get; set construct; }
148 public Epc.CollisionHandling collision_handling { get; set construct; }
149 public string contents_path { get; set construct; }
151 public string private_key_file { get; set construct; }
152 public Epc.Protocol protocol { get; set construct; }
153 public string service_cookie { get; set construct; }
155 public string service_domain { get; set construct; }
156 public string service_name { get; set construct; }
158 [CCode (cheader_filename = "libepc/service-monitor.h")]
159 public class ServiceMonitor : GLib.Object {
160 public bool get_skip_our_own ();
161 public ServiceMonitor (string? application, string? domain, ...);
162 public ServiceMonitor.for_types (string? domain, ...);
163 public ServiceMonitor.for_types_strv (string? domain, string types);
164 public void set_skip_our_own (bool setting);
166 public string application { get; construct; }
168 public string domain { get; construct; }
170 public string[] service_types { get; construct; }
171 public bool skip_our_own { get; set construct; }
172 public virtual signal void scanning_done (string type);
173 public virtual signal void service_found (string name, Epc.ServiceInfo info);
174 public virtual signal void service_removed (string name, string type);
176 [CCode (cheader_filename = "libepc/service-type.h")]
177 public delegate bool AuthHandler (Epc.AuthContext context, string username);
178 [CCode (cheader_filename = "libepc/service-type.h")]
179 public delegate weak Epc.Contents ContentsHandler (Epc.Publisher publisher, string key);
180 [CCode (cheader_filename = "libepc/service-type.h")]
181 public delegate bool ContentsReadFunc (Epc.Contents contents, void* buffer, ulong length);
182 [CCode (cheader_filename = "libepc/service-type.h")]
183 public const string SERVICE_TYPE_HTTP;
184 [CCode (cheader_filename = "libepc/service-type.h")]
185 public const string SERVICE_TYPE_HTTPS;
186 [CCode (cheader_filename = "libepc/service-type.h")]
187 public static weak GLib.EnumClass address_family_get_class ();
188 [CCode (cheader_filename = "libepc/service-type.h")]
189 public static weak GLib.FlagsClass auth_flags_get_class ();
190 [CCode (cheader_filename = "libepc/service-type.h")]
191 public static weak string auth_flags_to_string (Epc.AuthFlags value);
192 [CCode (cheader_filename = "libepc/service-type.h")]
193 public static weak GLib.EnumClass collision_handling_get_class ();
194 [CCode (cheader_filename = "libepc/service-type.h")]
195 public static weak string collision_handling_to_string (Epc.CollisionHandling value);
196 [CCode (cheader_filename = "libepc/service-type.h")]
197 public static GLib.Quark http_error_quark ();
198 [CCode (cheader_filename = "libepc/service-type.h")]
199 public static weak string protocol_build_uri (Epc.Protocol protocol, string hostname, ushort port, string path);
200 [CCode (cheader_filename = "libepc/service-type.h")]
201 public static Epc.Protocol protocol_from_name (string name, Epc.Protocol fallback);
202 [CCode (cheader_filename = "libepc/service-type.h")]
203 public static weak GLib.EnumClass protocol_get_class ();
204 [CCode (cheader_filename = "libepc/service-type.h")]
205 public static weak string protocol_get_service_type (Epc.Protocol protocol);
206 [CCode (cheader_filename = "libepc/service-type.h")]
207 public static weak string protocol_get_uri_scheme (Epc.Protocol protocol);
208 [CCode (cheader_filename = "libepc/service-type.h")]
209 public static weak string protocol_to_string (Epc.Protocol value);
210 [CCode (cheader_filename = "libepc/service-type.h")]
211 public static weak string service_type_get_base (string type);
212 [CCode (cheader_filename = "libepc/service-type.h")]
213 public static Epc.Protocol service_type_get_protocol (string service_type);
214 [CCode (cheader_filename = "libepc/service-type.h")]
215 public static weak string service_type_list_supported (string application);
216 [CCode (cheader_filename = "libepc/service-type.h")]
217 public static weak string service_type_new (Epc.Protocol protocol, string application);