Squashed merge of many commits, including (but not limited to) :
[moonshot-ui.git] / libmoonshot / libmoonshot.vapi
1 /* Vala binding between libmoonshot helper library */
2
3 [CCode (cheader_filename = "libmoonshot.h")]
4 namespace Moonshot {
5     [Compact]
6     [CCode (cname = "MoonshotError", free_function = "moonshot_error_free")]
7     public class Error {
8         public int code;
9         public string message;
10     }
11
12     /* A service matching rule; duplicated in moonshot-id.vala */
13     [CCode (cname = "MoonshotServiceRule")]
14     public struct ServiceRule {
15         public string pattern;
16         public string always_confirm;
17     }
18
19     [CCode (cname = "moonshot_get_identity")]
20     public bool get_identity (string nai,
21                               string password,
22                               string service,
23                               out string nai_out,
24                               out string password_out,
25                               out string server_certificate_hash_out,
26                               out string ca_certificate_out,
27                               out string subject_name_constraint_out,
28                               out string subject_alt_name_constraint_out,
29                               out Moonshot.Error error);
30
31     [CCode (cname = "moonshot_get_default_identity")]
32     public bool get_default_identity (out string nai_out,
33                                       out string password_out,
34                                       out string server_certificate_hash_out,
35                                       out string ca_certificate_out,
36                                       out string subject_name_constraint_out,
37                                       out string subject_alt_name_constraint_out,
38                                       out Moonshot.Error error);
39
40     [CCode (cname = "moonshot_install_id_card")]
41     public bool install_id_card (string display_name,
42                                  string? user_name,
43                                  string? password,
44                                  string? realm,
45                                  string rules_patterns[],
46                                  string rules_always_confirm[],
47                                  string services[],
48                                  string? ca_cert,
49                                  string? subject,
50                                  string? subject_alt,
51                                  string? server_cert,
52                                  int force_flat_file_store,
53                                  out Moonshot.Error error);
54
55     [CCode (cname = "moonshot_confirm_ca_certificate")]
56     public bool moonshot_confirm_ca_certificate (string identity_name,
57                                                  string realm,
58                                                  string ca_hash,
59                                                  out uint32 confirmed,
60                                                  out Moonshot.Error error);
61 }