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

Commit 62abc0dc authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "system/gd: Remove connectability module" into main

parents 67dadff7 6e3ac8af
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -10,7 +10,6 @@ package {
filegroup {
    name: "BluetoothNeighborSources",
    srcs: [
        "connectability.cc",
        "discoverability.cc",
        "inquiry.cc",
        "name_db.cc",
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@

source_set("BluetoothNeighborSources") {
  sources = [
    "connectability.cc",
    "discoverability.cc",
    "inquiry.cc",
    "name_db.cc",
+0 −105
Original line number Diff line number Diff line
/*
 * Copyright 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#define LOG_TAG "neighbor2"

#include "neighbor/connectability.h"

#include <memory>

#include "hci/hci_layer.h"
#include "hci/hci_packets.h"
#include "module.h"
#include "neighbor/scan.h"
#include "os/handler.h"
#include "os/log.h"

namespace bluetooth {
namespace neighbor {

struct ConnectabilityModule::impl {
  void StartConnectability();
  void StopConnectability();
  bool IsConnectable() const;

  void Start();
  void Stop();

  impl(ConnectabilityModule& connectability_module);

 private:
  ConnectabilityModule& module_;

  neighbor::ScanModule* scan_module_;
};

const ModuleFactory neighbor::ConnectabilityModule::Factory =
    ModuleFactory([]() { return new ConnectabilityModule(); });

neighbor::ConnectabilityModule::impl::impl(neighbor::ConnectabilityModule& module) : module_(module) {}

void neighbor::ConnectabilityModule::impl::StartConnectability() {
  scan_module_->SetPageScan();
}

void neighbor::ConnectabilityModule::impl::StopConnectability() {
  scan_module_->ClearPageScan();
}

bool neighbor::ConnectabilityModule::impl::IsConnectable() const {
  return scan_module_->IsPageEnabled();
}

void neighbor::ConnectabilityModule::impl::Start() {
  scan_module_ = module_.GetDependency<neighbor::ScanModule>();
}

void neighbor::ConnectabilityModule::impl::Stop() {}

neighbor::ConnectabilityModule::ConnectabilityModule() : pimpl_(std::make_unique<impl>(*this)) {}

neighbor::ConnectabilityModule::~ConnectabilityModule() {
  pimpl_.reset();
}

void neighbor::ConnectabilityModule::StartConnectability() {
  pimpl_->StartConnectability();
}

void neighbor::ConnectabilityModule::StopConnectability() {
  pimpl_->StopConnectability();
}

bool neighbor::ConnectabilityModule::IsConnectable() const {
  return pimpl_->IsConnectable();
}

/**
 * Module stuff
 */
void neighbor::ConnectabilityModule::ListDependencies(ModuleList* list) const {
  list->add<neighbor::ScanModule>();
}

void neighbor::ConnectabilityModule::Start() {
  pimpl_->Start();
}

void neighbor::ConnectabilityModule::Stop() {
  pimpl_->Stop();
}

}  // namespace neighbor
}  // namespace bluetooth
+0 −53
Original line number Diff line number Diff line
/*
 * Copyright 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#pragma once

#include <memory>

#include "module.h"

namespace bluetooth {
namespace neighbor {

class ConnectabilityModule : public bluetooth::Module {
 public:
  void StartConnectability();
  void StopConnectability();
  bool IsConnectable() const;

  ConnectabilityModule();
  ConnectabilityModule(const ConnectabilityModule&) = delete;
  ConnectabilityModule& operator=(const ConnectabilityModule&) = delete;

  ~ConnectabilityModule();

  static const ModuleFactory Factory;

 protected:
  void ListDependencies(ModuleList* list) const override;
  void Start() override;
  void Stop() override;
  std::string ToString() const override {
    return std::string("ConnectabilityModule");
  }

 private:
  struct impl;
  std::unique_ptr<impl> pimpl_;
};

}  // namespace neighbor
}  // namespace bluetooth
+3 −8
Original line number Diff line number Diff line
@@ -39,15 +39,13 @@ using namespace blueberry::facade::neighbor;
class NeighborFacadeService : public NeighborFacade::Service {
 public:
  NeighborFacadeService(
      ConnectabilityModule* connectability_module,
      DiscoverabilityModule* discoverability_module,
      InquiryModule* inquiry_module,
      hci::RemoteNameRequestModule* name_module,
      PageModule*,
      ScanModule* scan_module,
      ::bluetooth::os::Handler* facade_handler)
      : connectability_module_(connectability_module),
        discoverability_module_(discoverability_module),
      : discoverability_module_(discoverability_module),
        inquiry_module_(inquiry_module),
        name_module_(name_module),
        scan_module_(scan_module),
@@ -58,9 +56,9 @@ class NeighborFacadeService : public NeighborFacade::Service {
      const EnableMsg* request,
      ::google::protobuf::Empty* /* response */) override {
    if (request->enabled()) {
      connectability_module_->StartConnectability();
      scan_module_->SetPageScan();
    } else {
      connectability_module_->StopConnectability();
      scan_module_->ClearPageScan();
    }
    return ::grpc::Status::OK;
  }
@@ -216,7 +214,6 @@ class NeighborFacadeService : public NeighborFacade::Service {
    pending_remote_names_.OnIncomingEvent(response);
  }

  ConnectabilityModule* connectability_module_;
  DiscoverabilityModule* discoverability_module_;
  InquiryModule* inquiry_module_;
  hci::RemoteNameRequestModule* name_module_;
@@ -228,7 +225,6 @@ class NeighborFacadeService : public NeighborFacade::Service {

void NeighborFacadeModule::ListDependencies(ModuleList* list) const {
  ::bluetooth::grpc::GrpcFacadeModule::ListDependencies(list);
  list->add<ConnectabilityModule>();
  list->add<DiscoverabilityModule>();
  list->add<InquiryModule>();
  list->add<hci::RemoteNameRequestModule>();
@@ -239,7 +235,6 @@ void NeighborFacadeModule::ListDependencies(ModuleList* list) const {
void NeighborFacadeModule::Start() {
  ::bluetooth::grpc::GrpcFacadeModule::Start();
  service_ = new NeighborFacadeService(
      GetDependency<ConnectabilityModule>(),
      GetDependency<DiscoverabilityModule>(),
      GetDependency<InquiryModule>(),
      GetDependency<hci::RemoteNameRequestModule>(),
Loading