1 /*
2  * Copyright (C) 2018, Matthias Clasen
3  *
4  * This file is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License as
6  * published by the Free Software Foundation, version 3.0 of the
7  * License.
8  *
9  * This file is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  *
17  * SPDX-License-Identifier: LGPL-3.0-only
18  */
19 
20 #pragma once
21 
22 #include <libportal/types.h>
23 
24 G_BEGIN_DECLS
25 
26 typedef enum {
27   XDP_NOTIFICATION_FLAG_NONE = 0
28 } XdpNotificationFlags;
29 
30 XDP_PUBLIC
31 void       xdp_portal_add_notification        (XdpPortal             *portal,
32                                                const char            *id,
33                                                GVariant              *notification,
34                                                XdpNotificationFlags   flags,
35                                                GCancellable          *cancellable,
36                                                GAsyncReadyCallback    callback,
37                                                gpointer               data);
38 
39 XDP_PUBLIC
40 gboolean   xdp_portal_add_notification_finish (XdpPortal             *portal,
41                                                GAsyncResult          *result,
42                                                GError               **error);
43 
44 XDP_PUBLIC
45 void       xdp_portal_remove_notification     (XdpPortal             *portal,
46                                                const char            *id);
47 
48 G_END_DECLS
49