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

Commit 00b25120 authored by Zach Johnson's avatar Zach Johnson
Browse files

Add enforcement of module dependency declaration

Move dependency access into module, enforce dependency was listed
in ListDependencies.

Remove ModuleRegistry from Start/Stop.

Test: atest --host bluetooth_test_gd and cert/run_cert.sh
Change-Id: If5879a76aae764286f1b5bd7df2b497ea8f51998
parent 6fc480b0
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -28,11 +28,11 @@ namespace grpc {
void GrpcModule::ListDependencies(ModuleList* list) {
}

void GrpcModule::Start(const ModuleRegistry* registry) {
void GrpcModule::Start() {
  ASSERT(!started_);
}

void GrpcModule::Stop(const ModuleRegistry* registry) {
void GrpcModule::Stop() {
  ASSERT(!started_);
}

@@ -111,12 +111,12 @@ void GrpcFacadeModule::ListDependencies(ModuleList* list) {
  list->add<GrpcModule>();
}

void GrpcFacadeModule::Start(const ModuleRegistry* registry) {
  registry->GetInstance<GrpcModule>()->Register(this);
void GrpcFacadeModule::Start() {
  GetDependency<GrpcModule>()->Register(this);
}

void GrpcFacadeModule::Stop(const ModuleRegistry* registry) {
  registry->GetInstance<GrpcModule>()->Unregister(this);
void GrpcFacadeModule::Stop() {
  GetDependency<GrpcModule>()->Unregister(this);
}

}  // namespace grpc
+4 −4
Original line number Diff line number Diff line
@@ -45,9 +45,9 @@ class GrpcModule : public ::bluetooth::Module {
 protected:
  void ListDependencies(ModuleList* list) override;

  void Start(const ModuleRegistry* registry) override;
  void Start() override;

  void Stop(const ModuleRegistry* registry) override;
  void Stop() override;

 private:
  bool started_;
@@ -61,9 +61,9 @@ class GrpcFacadeModule : public ::bluetooth::Module {
 protected:
  void ListDependencies(ModuleList* list) override;

  void Start(const ModuleRegistry* registry) override;
  void Start() override;

  void Stop(const ModuleRegistry* registry) override;
  void Stop() override;

  virtual ::grpc::Service* GetService() const = 0;

+4 −4
Original line number Diff line number Diff line
@@ -139,15 +139,15 @@ void HalFacadeModule::ListDependencies(ModuleList* list) {
  list->add<HciHal>();
}

void HalFacadeModule::Start(const ModuleRegistry* registry) {
  ::bluetooth::grpc::GrpcFacadeModule::Start(registry);
  auto hal = registry->GetInstance<HciHal>();
void HalFacadeModule::Start() {
  ::bluetooth::grpc::GrpcFacadeModule::Start();
  auto hal = GetDependency<HciHal>();

  service_ = new HciTransportationService(hal);
  hal->registerIncomingPacketCallback(service_);
}

void HalFacadeModule::Stop(const ModuleRegistry* registry) {
void HalFacadeModule::Stop() {
  delete service_;
}

+2 −2
Original line number Diff line number Diff line
@@ -36,8 +36,8 @@ class HalFacadeModule : public ::bluetooth::grpc::GrpcFacadeModule {

  void ListDependencies(ModuleList* list) override;

  void Start(const ModuleRegistry* registry) override;
  void Stop(const ModuleRegistry* registry) override;
  void Start() override;
  void Stop() override;

  ::grpc::Service* GetService() const override;

+2 −2
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ class HciHalHidl : public HciHal {
    // We have no dependencies
  }

  void Start(const ModuleRegistry* registry) override {
  void Start() override {
    btsnoop_logger_ = new SnoopLogger(kDefaultBtsnoopPath);
    bt_hci_ = IBluetoothHci::getService();
    ASSERT(bt_hci_ != nullptr);
@@ -154,7 +154,7 @@ class HciHalHidl : public HciHal {
    }
  }

  void Stop(const ModuleRegistry* registry) override {
  void Stop() override {
    ASSERT(bt_hci_ != nullptr);
    auto death_unlink = bt_hci_->unlinkToDeath(hci_death_recipient_);
    if (!death_unlink.isOk()) {
Loading