Add skeleton for DHCP driver transition
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 7 Dec 2009 05:03:01 +0000 (06:03 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 7 Dec 2009 05:03:01 +0000 (06:03 +0100)
Makefile.am
src/connman.h
src/dhcp.c [new file with mode: 0644]
src/element.c

index 771c483..ae21008 100644 (file)
@@ -48,8 +48,8 @@ src_connmand_SOURCES = $(gdbus_sources) $(builtin_sources) \
                        src/manager.c src/profile.c src/service.c \
                        src/agent.c src/notifier.c src/provider.c \
                        src/security.c src/resolver.c src/ipconfig.c \
-                       src/ipv4.c src/storage.c src/rfkill.c src/rtnl.c \
-                       src/inet.c src/wifi.c src/dbus.c
+                       src/ipv4.c src/dhcp.c src/rtnl.c src/inet.c \
+                       src/rfkill.c src/wifi.c src/storage.c src/dbus.c
 
 if UDEV
 src_connmand_SOURCES += src/udev.c
index dba37d6..62ae0b5 100644 (file)
@@ -225,6 +225,9 @@ int __connman_element_set_ipv4(struct connman_element *element,
 
 gboolean __connman_element_device_isfiltered(const char *devname);
 
+int __connman_dhcp_init(void);
+void __connman_dhcp_cleanup(void);
+
 int __connman_ipv4_init(void);
 void __connman_ipv4_cleanup(void);
 
diff --git a/src/dhcp.c b/src/dhcp.c
new file mode 100644 (file)
index 0000000..3fd802b
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ *
+ *  Connection Manager
+ *
+ *  Copyright (C) 2007-2009  Intel Corporation. All rights reserved.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "connman.h"
+
+static int dhcp_probe(struct connman_element *element)
+{
+       DBG("element %p name %s", element, element->name);
+
+       return 0;
+}
+
+static void dhcp_remove(struct connman_element *element)
+{
+       DBG("element %p name %s", element, element->name);
+}
+
+static struct connman_driver dhcp_driver = {
+       .name           = "dhcp",
+       .type           = CONNMAN_ELEMENT_TYPE_DHCP,
+       .priority       = CONNMAN_DRIVER_PRIORITY_LOW,
+       .probe          = dhcp_probe,
+       .remove         = dhcp_remove,
+};
+
+int __connman_dhcp_init(void)
+{
+       return connman_driver_register(&dhcp_driver);
+}
+
+void __connman_dhcp_cleanup(void)
+{
+       connman_driver_unregister(&dhcp_driver);
+}
index 5498762..c0d487c 100644 (file)
@@ -1618,6 +1618,7 @@ void __connman_element_start(void)
 
        __connman_connection_init();
        __connman_ipv4_init();
+       __connman_dhcp_init();
 
        if (__connman_rfkill_init() < 0)
                __connman_udev_enable_rfkill_processing();
@@ -1629,6 +1630,7 @@ void __connman_element_stop(void)
 
        __connman_rfkill_cleanup();
 
+       __connman_dhcp_cleanup();
        __connman_ipv4_cleanup();
        __connman_connection_cleanup();
 }