Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8517eacd authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Thread HAL: support dynamic radio URLs" into main am: db7bab9e

parents e454cbf2 db7bab9e
Loading
Loading
Loading
Loading
+18 −13
Original line number Original line Diff line number Diff line
@@ -26,24 +26,29 @@
using aidl::android::hardware::threadnetwork::IThreadChip;
using aidl::android::hardware::threadnetwork::IThreadChip;
using aidl::android::hardware::threadnetwork::ThreadChip;
using aidl::android::hardware::threadnetwork::ThreadChip;


int main(int argc, char* argv[]) {
namespace {
    CHECK_GT(argc, 1);
void addThreadChip(int id, const char* url) {
    std::vector<std::shared_ptr<ThreadChip>> threadChips;
    aidl::android::hardware::threadnetwork::Service service;

    for (int id = 0; id < argc - 1; id++) {
    binder_status_t status;
    binder_status_t status;
    const std::string serviceName(std::string() + IThreadChip::descriptor + "/chip" +
    const std::string serviceName(std::string() + IThreadChip::descriptor + "/chip" +
            std::to_string(id));
            std::to_string(id));
        auto threadChip = ndk::SharedRefBase::make<ThreadChip>(argv[id + 1]);

    ALOGI("ServiceName: %s, Url: %s", serviceName.c_str(), url);

    auto threadChip = ndk::SharedRefBase::make<ThreadChip>(url);


    CHECK_NE(threadChip, nullptr);
    CHECK_NE(threadChip, nullptr);


    status = AServiceManager_addService(threadChip->asBinder().get(), serviceName.c_str());
    status = AServiceManager_addService(threadChip->asBinder().get(), serviceName.c_str());
    CHECK_EQ(status, STATUS_OK);
    CHECK_EQ(status, STATUS_OK);
}
}


        ALOGI("ServiceName: %s, Url: %s", serviceName.c_str(), argv[id + 1]);
int main(int argc, char* argv[]) {
        threadChips.push_back(std::move(threadChip));
    CHECK_GT(argc, 1);
    aidl::android::hardware::threadnetwork::Service service;

    for (int id = 0; id < argc - 1; id++) {
        addThreadChip(id, argv[id + 1]);
    }
    }


    ALOGI("Thread Network HAL is running");
    ALOGI("Thread Network HAL is running");
+1 −3
Original line number Original line Diff line number Diff line
@@ -32,11 +32,9 @@ namespace android {
namespace hardware {
namespace hardware {
namespace threadnetwork {
namespace threadnetwork {


ThreadChip::ThreadChip(char* url) : mUrl(), mRxFrameBuffer(), mCallback(nullptr) {
ThreadChip::ThreadChip(const char* url) : mUrl(url), mRxFrameBuffer(), mCallback(nullptr) {
    const char* interfaceName;
    const char* interfaceName;


    CHECK_EQ(mUrl.Init(url), 0);

    interfaceName = mUrl.GetProtocol();
    interfaceName = mUrl.GetProtocol();
    CHECK_NE(interfaceName, nullptr);
    CHECK_NE(interfaceName, nullptr);


+3 −3
Original line number Original line Diff line number Diff line
@@ -20,8 +20,8 @@
#include <aidl/android/hardware/threadnetwork/IThreadChipCallback.h>
#include <aidl/android/hardware/threadnetwork/IThreadChipCallback.h>


#include "lib/spinel/spinel_interface.hpp"
#include "lib/spinel/spinel_interface.hpp"
#include "lib/url/url.hpp"
#include "mainloop.hpp"
#include "mainloop.hpp"
#include "radio_url.hpp"


#include <android/binder_auto_utils.h>
#include <android/binder_auto_utils.h>
#include <android/binder_ibinder.h>
#include <android/binder_ibinder.h>
@@ -34,7 +34,7 @@ namespace threadnetwork {


class ThreadChip : public BnThreadChip, ot::Posix::Mainloop::Source {
class ThreadChip : public BnThreadChip, ot::Posix::Mainloop::Source {
  public:
  public:
    ThreadChip(char* url);
    ThreadChip(const char* url);
    ~ThreadChip() {}
    ~ThreadChip() {}


    ndk::ScopedAStatus open(const std::shared_ptr<IThreadChipCallback>& in_callback) override;
    ndk::ScopedAStatus open(const std::shared_ptr<IThreadChipCallback>& in_callback) override;
@@ -55,7 +55,7 @@ class ThreadChip : public BnThreadChip, ot::Posix::Mainloop::Source {
    ndk::ScopedAStatus initChip(const std::shared_ptr<IThreadChipCallback>& in_callback);
    ndk::ScopedAStatus initChip(const std::shared_ptr<IThreadChipCallback>& in_callback);
    ndk::ScopedAStatus deinitChip();
    ndk::ScopedAStatus deinitChip();


    ot::Url::Url mUrl;
    ot::Posix::RadioUrl mUrl;
    std::shared_ptr<ot::Spinel::SpinelInterface> mSpinelInterface;
    std::shared_ptr<ot::Spinel::SpinelInterface> mSpinelInterface;
    ot::Spinel::SpinelInterface::RxFrameBuffer mRxFrameBuffer;
    ot::Spinel::SpinelInterface::RxFrameBuffer mRxFrameBuffer;
    std::shared_ptr<IThreadChipCallback> mCallback;
    std::shared_ptr<IThreadChipCallback> mCallback;