libnetdutils: Remove dependency on libbinder
Turns out asBinderStatus() is presently used only in NetdNativeService,
so we can just move it there. This lets us drop the dependency on
libbinder.
Test: atest libnetdutils netd_unit_test
Change-Id: If24a14b881326ec74880ea411973d0acc6ef5ff1
diff --git a/server/InterfaceController.h b/server/InterfaceController.h
index 4c5b27f..96b955a 100644
--- a/server/InterfaceController.h
+++ b/server/InterfaceController.h
@@ -18,6 +18,7 @@
#define _INTERFACE_CONTROLLER_H
#include <functional>
+#include <map>
#include <string>
#include <netdutils/Status.h>
diff --git a/server/NetdNativeService.cpp b/server/NetdNativeService.cpp
index cafb90e..09b7efc 100644
--- a/server/NetdNativeService.cpp
+++ b/server/NetdNativeService.cpp
@@ -104,6 +104,13 @@
#define NETD_BIG_LOCK_RPC(permission) NETD_LOCKING_RPC((permission), gBigNetdLock)
+binder::Status asBinderStatus(const netdutils::Status& status) {
+ if (isOk(status)) {
+ return binder::Status::ok();
+ }
+ return binder::Status::fromServiceSpecificError(status.code(), status.msg().c_str());
+}
+
inline binder::Status statusFromErrcode(int ret) {
if (ret) {
return binder::Status::fromServiceSpecificError(-ret, strerror(-ret));
diff --git a/server/TrafficController.h b/server/TrafficController.h
index e8f66d0..6a9d071 100644
--- a/server/TrafficController.h
+++ b/server/TrafficController.h
@@ -19,7 +19,6 @@
#include <linux/bpf.h>
-#include <netdutils/StatusOr.h>
#include "BandwidthController.h"
#include "FirewallController.h"
#include "NetlinkListener.h"
@@ -28,6 +27,8 @@
#include "android-base/unique_fd.h"
#include "bpf/BpfMap.h"
#include "netdbpf/bpf_shared.h"
+#include "netdutils/StatusOr.h"
+#include "utils/String16.h"
using android::bpf::BpfMap;
using android::bpf::IfaceValue;
diff --git a/server/XfrmController.h b/server/XfrmController.h
index 851f976..c8a9b7d 100644
--- a/server/XfrmController.h
+++ b/server/XfrmController.h
@@ -27,11 +27,13 @@
#include <linux/netlink.h>
#include <linux/udp.h>
#include <linux/xfrm.h>
-#include <sysutils/SocketClient.h>
+#include <unistd.h>
#include "NetdConstants.h"
+#include "android-base/unique_fd.h"
#include "netdutils/Slice.h"
#include "netdutils/Status.h"
+#include "sysutils/SocketClient.h"
namespace android {
namespace net {