a0e760e19bd6ad4f109fd1ea78a9773e531c9ee7
[profile/ivi/dLeyna.git] / dleyna-core / libdleyna / core / white-list.h
1 /*
2  * dLeyna
3  *
4  * Copyright (C) 2013 Intel Corporation. All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU Lesser General Public License,
8  * version 2.1, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Ludovic Ferrandis <ludovic.ferrandis@intel.com>
20  *
21  */
22
23 #ifndef DLEYNA_WHITE_LIST_H__
24 #define DLEYNA_WHITE_LIST_H__
25
26 #include <glib.h>
27 #include <libgupnp/gupnp-white-list.h>
28
29 typedef void (*dleyna_white_list_notify_t)(gpointer user_data);
30
31 typedef struct dleyna_white_list_t_ dleyna_white_list_t;
32
33 struct dleyna_white_list_t_ {
34         GUPnPWhiteList *wl;
35         dleyna_white_list_notify_t cb_enabled;
36         dleyna_white_list_notify_t cb_entries;
37         gpointer user_data;
38 };
39
40 void dleyna_white_list_enable(gboolean enabled, gboolean notify);
41
42 void dleyna_white_list_add_entries(GVariant *entries, gboolean notify);
43
44 void dleyna_white_list_remove_entries(GVariant *entries, gboolean notify);
45
46 void dleyna_white_list_clear(gboolean notify);
47
48 void dleyna_white_list_set_info(dleyna_white_list_t *data);
49
50 #endif /* DLEYNA_WHITE_LIST_H__ */