diff --git a/threadnetwork/aidl/default/main.cpp b/threadnetwork/aidl/default/main.cpp index 1df455eb0f..6514184f77 100644 --- a/threadnetwork/aidl/default/main.cpp +++ b/threadnetwork/aidl/default/main.cpp @@ -18,11 +18,11 @@ #include #include #include -#include -#include #include -#include +#include #include +#include +#include #include "service.hpp" #include "thread_chip.hpp" @@ -30,19 +30,13 @@ using aidl::android::hardware::threadnetwork::IThreadChip; using aidl::android::hardware::threadnetwork::ThreadChip; -#define THREADNETWORK_COPROCESSOR_SIMULATION_PATH \ - "/apex/com.android.hardware.threadnetwork/bin/ot-rcp" +#define THREADNETWORK_COPROCESSOR_SIMULATION_PATH "/apex/com.android.hardware.threadnetwork/bin/ot-rcp" namespace { - -bool isInterfaceExists(const char* interfaceName) { - return if_nametoindex(interfaceName) != 0; -} - void addThreadChip(int id, const char* url) { binder_status_t status; const std::string serviceName(std::string() + IThreadChip::descriptor + "/chip" + - std::to_string(id)); + std::to_string(id)); ALOGI("ServiceName: %s, Url: %s", serviceName.c_str(), url); @@ -56,24 +50,19 @@ void addThreadChip(int id, const char* url) { void addSimulatedThreadChip() { char local_interface[PROP_VALUE_MAX]; + + CHECK_GT(property_get("persist.vendor.otsim.local_interface", + local_interface, "eth1"), 0); + int node_id = property_get_int32("ro.boot.openthread_node_id", 0); + CHECK_GT(node_id,0); - CHECK_GT(node_id, 0); - - std::string url = std::string("spinel+hdlc+forkpty://" THREADNETWORK_COPROCESSOR_SIMULATION_PATH - "?forkpty-arg=") + - std::to_string(node_id); - - CHECK_GT(property_get("persist.vendor.otsim.local_interface", local_interface, "eth1"), 0); - if (isInterfaceExists(local_interface)) { - url += std::string("&forkpty-arg=-L") + local_interface; - } else { - ALOGI("Interface %s doesn't exist!", local_interface); - } - + std::string url = std::string("spinel+hdlc+forkpty://" \ + THREADNETWORK_COPROCESSOR_SIMULATION_PATH "?forkpty-arg=-L") \ + + local_interface + "&forkpty-arg=" + std::to_string(node_id); addThreadChip(0, url.c_str()); } -} // namespace +} int main(int argc, char* argv[]) { aidl::android::hardware::threadnetwork::Service service;