apmanager: initial support for AP configuration

Add Config class for configuring AP service and generating config file
for hostapd instance. Add a DBus service for the Config object and
export the configurations as DBus properties.

BUG=chromium:430536
TEST=unittests
CQ-DEPEND=CL:228886

Change-Id: I25f48b49edb6a88f36cd51f527ef71f1f8c835dd
Reviewed-on: https://chromium-review.googlesource.com/229044
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
Tested-by: Peter Qiu <zqiu@chromium.org>
diff --git a/apmanager.gyp b/apmanager.gyp
index bd27931..4cc1e57 100644
--- a/apmanager.gyp
+++ b/apmanager.gyp
@@ -21,6 +21,7 @@
         'generate_dbus_bindings_out_dir': 'include/apmanager/dbus_adaptors',
       },
       'sources': [
+        '<(generate_dbus_bindings_in_dir)/org.chromium.apmanager.Config.xml',
         '<(generate_dbus_bindings_in_dir)/org.chromium.apmanager.Manager.xml',
       ],
       'includes': ['../common-mk/generate-dbus-bindings.gypi'],
@@ -35,6 +36,7 @@
       },
       'sources': [
         '<(xml2cpp_in_dir)/org.chromium.apmanager.Manager.xml',
+        '<(xml2cpp_in_dir)/org.chromium.apmanager.Config.xml',
       ],
       'includes': ['../common-mk/xml2cpp.gypi'],
     },
@@ -59,6 +61,7 @@
         },
       },
       'sources': [
+        'config.cc',
         'daemon.cc',
         'manager.cc',
       ],
@@ -86,6 +89,7 @@
           'dependencies': ['libapmanager'],
           'includes': ['../common-mk/common_test.gypi'],
           'sources': [
+            'config_unittest.cc',
             'manager_unittest.cc',
             'testrunner.cc',
           ],