client: Add pretty-printing for ServicesChanged signal
[platform/upstream/connman.git] / client / services.h
1 /*
2  *
3  *  Connection Manager
4  *
5  *  Copyright (C) 2012-2013  Intel Corporation. All rights reserved.
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation; either version 2 of the License, or
10  *  (at your option) any later version.
11  *
12  *  This program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with this program; if not, write to the Free Software
19  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20  *
21  */
22
23 #include <stdint.h>
24
25 #include <dbus/dbus.h>
26
27 struct service_data {
28         const char *path;
29         const char *name;
30         dbus_bool_t autoconn;
31         dbus_bool_t favorite;
32         dbus_bool_t connected;
33         dbus_bool_t online;
34 };
35
36 int parse_boolean(char *arg);
37 void __connmanctl_services_list(DBusMessageIter *iter);
38 char *strip_service_path(char *service);
39 void extract_service_name(DBusMessageIter *dict, struct service_data *service);
40 int set_service_property(DBusConnection *connection, DBusMessage *message,
41                                 char *name, char *property, char **keys,
42                                 void *data, int num_args);
43 int remove_service(DBusConnection *connection, DBusMessage *message,
44                                                                 char *name);
45 int set_proxy_manual(DBusConnection *connection, DBusMessage *message,
46                                 char *name, char **servers, char **excludes,
47                                 int num_servers, int num_excludes);
48
49 void extract_services(DBusMessage *message, char *service_name);
50 void get_services(DBusMessage *message);
51 void iterate_dict(DBusMessageIter *dict, char *string, uint16_t key_int);
52 int list_services(DBusConnection *connection, char *function);
53 int list_services_properties(DBusConnection *connection, char *function,
54                                 char *service_name);
55 int listen_for_service_signal(DBusConnection *connection, char *signal_name,
56                         char *service_name);
57 void iterate_array(DBusMessageIter *iter);