rust_libindy_wrapper/native/
wallet.rs1use super::*;
2
3use native::{BString, CString, Error, Handle};
4
5extern {
6 #[no_mangle]
7 pub fn indy_register_wallet_storage(command_handle: Handle,
8 type_: CString,
9 create: Option<WalletCreate>,
10 open: Option<WalletOpen>,
11 close: Option<WalletClose>,
12 delete: Option<WalletDelete>,
13 add_record: Option<WalletAddRecord>,
14 update_record_value: Option<WalletUpdateRecordValue>,
15 update_record_tags: Option<WalletUpdateRecordTags>,
16 add_record_tags: Option<WalletAddRecordTags>,
17 delete_record_tags: Option<WalletDeleteRecordTags>,
18 delete_record: Option<WalletDeleteRecord>,
19 get_record: Option<WalletGetRecord>,
20 get_record_id: Option<WalletGetRecordId>,
21 get_record_type: Option<WalletGetRecordType>,
22 get_record_value: Option<WalletGetRecordValue>,
23 get_record_tags: Option<WalletGetRecordTags>,
24 free_record: Option<WalletFreeRecord>,
25 get_storage_metadata: Option<WalletGetStorageMetadata>,
26 set_storage_metadata: Option<WalletSetStorageMetadata>,
27 free_storage_metadata: Option<WalletFreeStorageMetadata>,
28 search_records: Option<WalletSearchRecords>,
29 search_all_records: Option<WalletSearchAllRecords>,
30 get_search_total_count: Option<WalletGetSearchTotalCount>,
31 fetch_search_next_record: Option<WalletFetchSearchNextRecord>,
32 free_search: Option<WalletFreeSearch>,
33 cb: Option<ResponseEmptyCB>) -> Error;
34 #[no_mangle]
35 pub fn indy_create_wallet(command_handle: Handle,
36 config: CString,
37 credentials: CString,
38 cb: Option<ResponseEmptyCB>) -> Error;
39 #[no_mangle]
40 pub fn indy_open_wallet(command_handle: Handle,
41 config: CString,
42 credentials: CString,
43 cb: Option<ResponseI32CB>) -> Error;
44 #[no_mangle]
45 pub fn indy_export_wallet(command_handle: Handle,
46 wallet_handle: Handle,
47 export_config: CString,
48 cb: Option<ResponseEmptyCB>) -> Error;
49 #[no_mangle]
50 pub fn indy_import_wallet(command_handle: Handle,
51 config: CString,
52 credentials: CString,
53 import_config: CString,
54 cb: Option<ResponseEmptyCB>) -> Error;
55 #[no_mangle]
56 pub fn indy_close_wallet(command_handle: Handle,
57 wallet_handle: Handle,
58 cb: Option<ResponseEmptyCB>) -> Error;
59 #[no_mangle]
60 pub fn indy_delete_wallet(command_handle: Handle,
61 config: CString,
62 credentials: CString,
63 cb: Option<ResponseEmptyCB>) -> Error;
64}
65
66pub type WalletCreate = extern fn(name: CString,
67 config: CString,
68 credentials_json: CString,
69 metadata: CString) -> Error;
70pub type WalletOpen = extern fn(name: CString,
71 config: CString,
72 credentials_json: CString,
73 storage_handle_p: *mut Handle) -> Error;
74pub type WalletClose = extern fn(storage_handle: Handle) -> Error;
75pub type WalletDelete = extern fn(name: CString,
76 config: CString,
77 credentials_json: CString) -> Error;
78pub type WalletAddRecord = extern fn(storage_handle: Handle,
79 type_: CString,
80 id: CString,
81 value: BString,
82 value_len: usize,
83 tags_json: CString) -> Error;
84pub type WalletUpdateRecordValue = extern fn(storage_handle: Handle,
85 type_: CString,
86 id: CString,
87 value: BString,
88 value_len: usize, ) -> Error;
89pub type WalletUpdateRecordTags = extern fn(storage_handle: Handle,
90 type_: CString,
91 id: CString,
92 tags_json: CString) -> Error;
93pub type WalletAddRecordTags = extern fn(storage_handle: Handle,
94 type_: CString,
95 id: CString,
96 tags_json: CString) -> Error;
97pub type WalletDeleteRecordTags = extern fn(storage_handle: Handle,
98 type_: CString,
99 id: CString,
100 tag_names_json: CString) -> Error;
101pub type WalletDeleteRecord = extern fn(storage_handle: Handle,
102 type_: CString,
103 id: CString) -> Error;
104pub type WalletGetRecord = extern fn(storage_handle: Handle,
105 type_: CString,
106 id: CString,
107 options_json: CString,
108 record_handle_p: *mut Handle) -> Error;
109pub type WalletGetRecordId = extern fn(storage_handle: Handle,
110 record_handle: Handle,
111 record_id_p: *mut CString) -> Error;
112pub type WalletGetRecordType = extern fn(storage_handle: Handle,
113 record_handle: Handle,
114 record_type_p: *mut CString) -> Error;
115pub type WalletGetRecordValue = extern fn(storage_handle: Handle,
116 record_handle: Handle,
117 record_value_p: *mut BString,
118 record_value_len_p: *mut usize) -> Error;
119pub type WalletGetRecordTags = extern fn(storage_handle: Handle,
120 record_handle: Handle,
121 record_tags_p: *mut CString) -> Error;
122pub type WalletFreeRecord = extern fn(storage_handle: Handle,
123 record_handle: Handle) -> Error;
124pub type WalletGetStorageMetadata = extern fn(storage_handle: Handle,
125 metadata_p: *mut CString,
126 metadata_handle: *mut Handle) -> Error;
127pub type WalletSetStorageMetadata = extern fn(storage_handle: Handle,
128 metadata_p: CString) -> Error;
129pub type WalletFreeStorageMetadata = extern fn(storage_handle: Handle,
130 metadata_handle: Handle) -> Error;
131pub type WalletSearchRecords = extern fn(storage_handle: Handle,
132 type_: CString,
133 query_json: CString,
134 options_json: CString,
135 search_handle_p: *mut Handle) -> Error;
136pub type WalletSearchAllRecords = extern fn(storage_handle: Handle,
137 search_handle_p: *mut Handle) -> Error;
138pub type WalletGetSearchTotalCount = extern fn(storage_handle: Handle,
139 search_handle: Handle,
140 total_count_p: *mut usize) -> Error;
141pub type WalletFetchSearchNextRecord = extern fn(storage_handle: Handle,
142 search_handle: Handle,
143 record_handle_p: *mut Handle) -> Error;
144pub type WalletFreeSearch = extern fn(storage_handle: Handle,
145 search_handle: Handle) -> Error;