diff options
author | Peter Qiu <zqiu@google.com> | 2015-09-24 10:11:26 -0700 |
---|---|---|
committer | Peter Qiu <zqiu@google.com> | 2015-09-25 13:20:23 -0700 |
commit | fc98057995ef9c9cc8dda720aa7e0e30d1b34d8e (patch) | |
tree | 544c4977a641a666532f43e7d1395bf97ec04cc8 | |
parent | 7a420d3e06aa7fb5eba305dc587624eb58bde7b7 (diff) | |
download | apmanager-fc98057995ef9c9cc8dda720aa7e0e30d1b34d8e.tar.gz |
update file paths for Android
On Android, the executables are stored under /system/bin and the
data files (e.g. config file) will be stored under
/data/misc/apmanager/. So conditionally use those paths for
Android.
Bug: 22828115
TEST=Manual test on dragonboard
TEST=Run unittest for Chrome OS
Change-Id: I7db70c93cb1b8c206742a788e356dcc195160f43
-rw-r--r-- | dhcp_server.cc | 9 | ||||
-rw-r--r-- | hostapd_monitor.cc | 6 | ||||
-rw-r--r-- | init.apmanager.rc | 5 | ||||
-rw-r--r-- | service.cc | 9 |
4 files changed, 29 insertions, 0 deletions
diff --git a/dhcp_server.cc b/dhcp_server.cc index 8e11a0f..de54bdf 100644 --- a/dhcp_server.cc +++ b/dhcp_server.cc @@ -28,11 +28,20 @@ using std::string; namespace apmanager { // static. +#if !defined(__ANDROID__) const char DHCPServer::kDnsmasqPath[] = "/usr/sbin/dnsmasq"; const char DHCPServer::kDnsmasqConfigFilePathFormat[] = "/var/run/apmanager/dnsmasq/dhcpd-%d.conf"; const char DHCPServer::kDHCPLeasesFilePathFormat[] = "/var/run/apmanager/dnsmasq/dhcpd-%d.leases"; +#else +const char DHCPServer::kDnsmasqPath[] = "/system/bin/dnsmasq"; +const char DHCPServer::kDnsmasqConfigFilePathFormat[] = + "/data/misc/apmanager/dnsmasq/dhcpd-%d.conf"; +const char DHCPServer::kDHCPLeasesFilePathFormat[] = + "/data/misc/apmanager/dnsmasq/dhcpd-%d.leases"; +#endif // __ANDROID__ + const char DHCPServer::kServerAddressFormat[] = "192.168.%d.254"; const char DHCPServer::kAddressRangeLowFormat[] = "192.168.%d.1"; const char DHCPServer::kAddressRangeHighFormat[] = "192.168.%d.128"; diff --git a/hostapd_monitor.cc b/hostapd_monitor.cc index 997ec54..29785cb 100644 --- a/hostapd_monitor.cc +++ b/hostapd_monitor.cc @@ -34,8 +34,14 @@ using std::string; namespace apmanager { // static. +#if !defined(__ANDROID__) const char HostapdMonitor::kLocalPathFormat[] = "/var/run/apmanager/hostapd/hostapd_ctrl_%s"; +#else +const char HostapdMonitor::kLocalPathFormat[] = + "/data/misc/apmanager/hostapd/hostapd_ctrl_%s"; +#endif // __ANDROID__ + const char HostapdMonitor::kHostapdCmdAttach[] = "ATTACH"; const char HostapdMonitor::kHostapdRespOk[] = "OK\n"; const char HostapdMonitor::kHostapdEventStationConnected[] = "AP-STA-CONNECTED"; diff --git a/init.apmanager.rc b/init.apmanager.rc index 4947de9..98e03bb 100644 --- a/init.apmanager.rc +++ b/init.apmanager.rc @@ -1,3 +1,8 @@ +on boot + mkdir /data/misc/apmanager 0700 system system + mkdir /data/misc/apmanager/hostapd 0700 system system + mkdir /data/misc/apmanager/dnsmasq 0700 system system + service apmanager /system/bin/apmanager class main user system @@ -37,11 +37,20 @@ using std::string; namespace apmanager { // static. +#if !defined(__ANDROID__) const char Service::kHostapdPath[] = "/usr/sbin/hostapd"; const char Service::kHostapdConfigPathFormat[] = "/var/run/apmanager/hostapd/hostapd-%d.conf"; const char Service::kHostapdControlInterfacePath[] = "/var/run/apmanager/hostapd/ctrl_iface"; +#else +const char Service::kHostapdPath[] = "/system/bin/hostapd"; +const char Service::kHostapdConfigPathFormat[] = + "/data/misc/apmanager/hostapd/hostapd-%d.conf"; +const char Service::kHostapdControlInterfacePath[] = + "/data/misc/apmanager/hostapd/ctrl_iface"; +#endif // __ANDROID__ + const int Service::kTerminationTimeoutSeconds = 2; // static. Service state definitions. |