From 60c4025cdf575beb3579ed6f88f39b211a1151e4 Mon Sep 17 00:00:00 2001 From: Tim Kourt Date: Thu, 27 Apr 2017 12:36:26 -0700 Subject: [PATCH] client: Introduce adapter interface --- Makefile.am | 1 + client/adapter.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 client/adapter.c diff --git a/Makefile.am b/Makefile.am index c24264de..4b897e52 100644 --- a/Makefile.am +++ b/Makefile.am @@ -87,6 +87,7 @@ dist_sysconf_DATA = src/iwd.conf client_iwctl_SOURCES = client/main.c \ readline/readline.h readline/history.h \ + client/adapter.c \ client/command.h client/command.c \ client/dbus-proxy.h client/dbus-proxy.c \ client/device.c \ diff --git a/client/adapter.c b/client/adapter.c new file mode 100644 index 00000000..3e165eeb --- /dev/null +++ b/client/adapter.c @@ -0,0 +1,74 @@ +/* + * + * Wireless daemon for Linux + * + * Copyright (C) 2017 Intel Corporation. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include + +#include "command.h" +#include "dbus-proxy.h" + +static struct proxy_interface_type adapter_interface_type = { + .interface = IWD_ADAPTER_INTERFACE, +}; + +static const struct command adapter_commands[] = { + { } +}; + +static struct command_family adapter_command_family = { + .caption = "Adapters", + .name = "adapter", + .command_list = adapter_commands, +}; + +static int adapter_command_family_init(void) +{ + command_family_register(&adapter_command_family); + + return 0; +} + +static void adapter_command_family_exit(void) +{ + command_family_unregister(&adapter_command_family); +} + +COMMAND_FAMILY(adapter_command_family, adapter_command_family_init, + adapter_command_family_exit) + +static int adapter_interface_init(void) +{ + proxy_interface_type_register(&adapter_interface_type); + + return 0; +} + +static void adapter_interface_exit(void) +{ + proxy_interface_type_register(&adapter_interface_type); +} + +INTERFACE_TYPE(adapter_interface_type, adapter_interface_init, + adapter_interface_exit)