diff --git a/threadnetwork/aidl/default/main.cpp b/threadnetwork/aidl/default/main.cpp index 841904174d..26683bf079 100644 --- a/threadnetwork/aidl/default/main.cpp +++ b/threadnetwork/aidl/default/main.cpp @@ -26,24 +26,29 @@ using aidl::android::hardware::threadnetwork::IThreadChip; using aidl::android::hardware::threadnetwork::ThreadChip; +namespace { +void addThreadChip(int id, const char* url) { + binder_status_t status; + const std::string serviceName(std::string() + IThreadChip::descriptor + "/chip" + + std::to_string(id)); + + ALOGI("ServiceName: %s, Url: %s", serviceName.c_str(), url); + + auto threadChip = ndk::SharedRefBase::make(url); + + CHECK_NE(threadChip, nullptr); + + status = AServiceManager_addService(threadChip->asBinder().get(), serviceName.c_str()); + CHECK_EQ(status, STATUS_OK); +} +} + int main(int argc, char* argv[]) { CHECK_GT(argc, 1); - std::vector> threadChips; aidl::android::hardware::threadnetwork::Service service; for (int id = 0; id < argc - 1; id++) { - binder_status_t status; - const std::string serviceName(std::string() + IThreadChip::descriptor + "/chip" + - std::to_string(id)); - auto threadChip = ndk::SharedRefBase::make(argv[id + 1]); - - CHECK_NE(threadChip, nullptr); - - status = AServiceManager_addService(threadChip->asBinder().get(), serviceName.c_str()); - CHECK_EQ(status, STATUS_OK); - - ALOGI("ServiceName: %s, Url: %s", serviceName.c_str(), argv[id + 1]); - threadChips.push_back(std::move(threadChip)); + addThreadChip(id, argv[id + 1]); } ALOGI("Thread Network HAL is running"); diff --git a/threadnetwork/aidl/default/thread_chip.cpp b/threadnetwork/aidl/default/thread_chip.cpp index d1e1d4ceaf..e31272886b 100644 --- a/threadnetwork/aidl/default/thread_chip.cpp +++ b/threadnetwork/aidl/default/thread_chip.cpp @@ -32,11 +32,9 @@ namespace android { namespace hardware { namespace threadnetwork { -ThreadChip::ThreadChip(char* url) : mUrl(), mRxFrameBuffer(), mCallback(nullptr) { +ThreadChip::ThreadChip(const char* url) : mUrl(url), mRxFrameBuffer(), mCallback(nullptr) { const char* interfaceName; - CHECK_EQ(mUrl.Init(url), 0); - interfaceName = mUrl.GetProtocol(); CHECK_NE(interfaceName, nullptr); diff --git a/threadnetwork/aidl/default/thread_chip.hpp b/threadnetwork/aidl/default/thread_chip.hpp index 30046ef040..d07d0498f6 100644 --- a/threadnetwork/aidl/default/thread_chip.hpp +++ b/threadnetwork/aidl/default/thread_chip.hpp @@ -20,8 +20,8 @@ #include #include "lib/spinel/spinel_interface.hpp" -#include "lib/url/url.hpp" #include "mainloop.hpp" +#include "radio_url.hpp" #include #include @@ -34,7 +34,7 @@ namespace threadnetwork { class ThreadChip : public BnThreadChip, ot::Posix::Mainloop::Source { public: - ThreadChip(char* url); + ThreadChip(const char* url); ~ThreadChip() {} ndk::ScopedAStatus open(const std::shared_ptr& in_callback) override; @@ -55,7 +55,7 @@ class ThreadChip : public BnThreadChip, ot::Posix::Mainloop::Source { ndk::ScopedAStatus initChip(const std::shared_ptr& in_callback); ndk::ScopedAStatus deinitChip(); - ot::Url::Url mUrl; + ot::Posix::RadioUrl mUrl; std::shared_ptr mSpinelInterface; ot::Spinel::SpinelInterface::RxFrameBuffer mRxFrameBuffer; std::shared_ptr mCallback;