summaryrefslogtreecommitdiff
path: root/document-portal/xdp-util.h
blob: cb67817c027e0adcee2d8922ec46c81e2b35cd53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef XDP_UTIL_H
#define XDP_UTIL_H

#include <gio/gio.h>
#include "xdg-app-db.h"
#include "xdp-enums.h"

G_BEGIN_DECLS

const char **      xdg_unparse_permissions (XdpPermissionFlags   permissions);
XdpPermissionFlags xdp_parse_permissions   (const char         **permissions);

XdpPermissionFlags xdp_entry_get_permissions (XdgAppDbEntry      *entry,
                                              const char         *app_id);
gboolean           xdp_entry_has_permissions (XdgAppDbEntry      *entry,
                                              const char         *app_id,
                                              XdpPermissionFlags  perms);
const char *       xdp_entry_get_path        (XdgAppDbEntry      *entry);
char *             xdp_entry_dup_basename    (XdgAppDbEntry      *entry);
char *             xdp_entry_dup_dirname     (XdgAppDbEntry      *entry);
guint64            xdp_entry_get_device      (XdgAppDbEntry      *entry);
guint64            xdp_entry_get_inode       (XdgAppDbEntry      *entry);
int                xdp_entry_open_dir        (XdgAppDbEntry      *entry);
int                xdp_entry_stat            (XdgAppDbEntry      *entry,
                                              struct stat        *buf,
                                              int                 flags);

guint32 xdp_id_from_name (const char *name);
char *  xdp_name_from_id (guint32     doc_id);


void  xdp_invocation_lookup_app_id        (GDBusMethodInvocation  *invocation,
                                           GCancellable           *cancellable,
                                           GAsyncReadyCallback     callback,
                                           gpointer                user_data);

char *xdp_invocation_lookup_app_id_finish (GDBusMethodInvocation  *invocation,
                                           GAsyncResult           *result,
                                           GError                **error);

void  xdp_connection_track_name_owners    (GDBusConnection        *connection);

G_END_DECLS

#endif /* XDP_UTIL_H */