1
#ifndef UNITYSCOPE_SHIM_H
2
#define UNITYSCOPE_SHIM_H
10
/* A typedef that can be used to represent a std::shared_ptr */
12
typedef uintptr_t SharedPtrData[2];
14
typedef void _CannedQuery;
16
typedef void _CategorisedResult;
17
typedef void _SearchMetadata;
18
typedef void _ActionMetadata;
19
typedef void _ScopeBase;
21
void run_scope(void *scope_name, void *runtime_config,
22
void *scope_config, void *pointer_to_iface,
25
/* ScopeBase objects */
26
char *scope_base_scope_directory(_ScopeBase *scope);
27
char *scope_base_cache_directory(_ScopeBase *scope);
28
char *scope_base_tmp_directory(_ScopeBase *scope);
29
char *scope_base_settings(_ScopeBase *scope);
31
/* SearchReply objects */
32
void init_search_reply_ptr(SharedPtrData dest, SharedPtrData src);
33
void destroy_search_reply_ptr(SharedPtrData data);
35
void search_reply_finished(SharedPtrData reply);
36
void search_reply_error(SharedPtrData reply, void *err_string);
37
void search_reply_register_category(SharedPtrData reply, void *id, void *title, void *icon, void *cat_template, SharedPtrData category);
38
void search_reply_register_departments(SharedPtrData reply, SharedPtrData dept);
39
void search_reply_push(SharedPtrData reply, _CategorisedResult *result, char **error);
41
/* PreviewReply objects */
42
void init_preview_reply_ptr(SharedPtrData dest, SharedPtrData src);
43
void destroy_preview_reply_ptr(SharedPtrData data);
45
void preview_reply_finished(SharedPtrData reply);
46
void preview_reply_error(SharedPtrData reply, void *err_string);
47
void preview_reply_push_widgets(SharedPtrData reply, void *gostring_array, int count, char **error);
48
void preview_reply_push_attr(SharedPtrData reply, void *key, void *json_value, char **error);
50
/* CannedQuery objects */
51
void destroy_canned_query(_CannedQuery *query);
52
_CannedQuery *new_canned_query(void *scope_id, void *query_str, void *department_id);
53
char *canned_query_get_scope_id(_CannedQuery *query);
54
char *canned_query_get_department_id(_CannedQuery *query);
55
char *canned_query_get_query_string(_CannedQuery *query);
56
void canned_query_set_department_id(_CannedQuery *query, void *department_id);
57
void canned_query_set_query_string(_CannedQuery *query, void *query_str);
58
char *canned_query_to_uri(_CannedQuery *query);
60
/* Category objects */
61
void destroy_category_ptr(SharedPtrData data);
63
/* CategorisedResult objects */
64
_Result *new_categorised_result(SharedPtrData category);
65
void destroy_result(_Result *res);
68
char *result_get_attr(_Result *res, void *attr, char **error);
69
void result_set_attr(_Result *res, void *attr, void *json_value, char **error);
70
void result_set_intercept_activation(_Result *res);
72
/* Department objects */
73
void init_department_ptr(SharedPtrData dest, SharedPtrData src);
74
void new_department(void *deptt_id, void *query, void *label, SharedPtrData dept, char **error);
75
void destroy_department_ptr(SharedPtrData data);
76
void department_add_subdepartment(SharedPtrData dept, SharedPtrData child);
77
void department_set_alternate_label(SharedPtrData dept, void *label);
78
void department_set_has_subdepartments(SharedPtrData dept, int subdepartments);
80
/* SearchMetadata objects */
81
void destroy_search_metadata(_SearchMetadata *metadata);
82
char *search_metadata_get_locale(_SearchMetadata *metadata);
83
char *search_metadata_get_form_factor(_SearchMetadata *metadata);
84
int search_metadata_get_cardinality(_SearchMetadata *metadata);
85
char *search_metadata_get_location(_SearchMetadata *metadata);
87
/* ActionMetadata objects */
88
void destroy_action_metadata(_ActionMetadata *metadata);
89
char *action_metadata_get_locale(_ActionMetadata *metadata);
90
char *action_metadata_get_form_factor(_ActionMetadata *metadata);