Remove all GetDev() and C++ tests for scene_controller and frontend
server

Bug: 284158685
Change-Id: Idc276fa37aca7fc2e136ed6b4950d49fa8d155e0
diff --git a/Android.bp b/Android.bp
index e3abf76..93a2780 100644
--- a/Android.bp
+++ b/Android.bp
@@ -232,9 +232,6 @@
     name: "netsim-test",
     defaults: ["netsim_defaults"],
     srcs: [
-        "src/controller/device_test.cc",
-        "src/controller/scene_controller_test.cc",
-        "src/frontend/frontend_server_test.cc",
         "src/util/ini_file_test.cc",
         "src/util/os_utils_test.cc",
         "src/util/string_utils_test.cc",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6cfa95f..2f200d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,10 +57,7 @@
 
   android_add_test(
     TARGET netsim-test LICENSE Apache-2.0
-    SRC src/controller/device_test.cc
-        src/controller/scene_controller_test.cc
-        src/frontend/frontend_server_test.cc
-        src/util/ini_file_test.cc
+    SRC src/util/ini_file_test.cc
         src/util/os_utils_test.cc
         src/util/string_utils_test.cc
         src/wifi/wifi_facade_test.cc
diff --git a/rust/netsim-cxx/src/captures/capture.rs b/rust/netsim-cxx/src/captures/capture.rs
index 74ac6da..cbb5999 100644
--- a/rust/netsim-cxx/src/captures/capture.rs
+++ b/rust/netsim-cxx/src/captures/capture.rs
@@ -32,7 +32,6 @@
 use log::error;
 use protobuf::well_known_types::timestamp::Timestamp;
 
-use crate::ffi::get_facade_id;
 use crate::system;
 
 use super::pcap_util::write_pcap_header;
@@ -86,15 +85,12 @@
     /// Create an instance of CaptureInfo
     pub fn new(chip_kind: ChipKind, chip_id: ChipId, device_name: String) -> Self {
         CaptureInfo {
-            facade_id: match crate::config::get_dev() {
-                true => match crate::devices::devices_handler::get_facade_id(chip_id) {
-                    Ok(id) => id as i32,
-                    Err(err) => {
-                        error!("{err}");
-                        i32::MAX
-                    }
-                },
-                false => get_facade_id(chip_id),
+            facade_id: match crate::devices::devices_handler::get_facade_id(chip_id) {
+                Ok(id) => id as i32,
+                Err(err) => {
+                    error!("{err}");
+                    i32::MAX
+                }
             },
             id: chip_id,
             chip_kind,
diff --git a/rust/netsim-cxx/src/captures/handlers.rs b/rust/netsim-cxx/src/captures/handlers.rs
index 6853c54..58b7eb3 100644
--- a/rust/netsim-cxx/src/captures/handlers.rs
+++ b/rust/netsim-cxx/src/captures/handlers.rs
@@ -32,7 +32,6 @@
 use frontend_proto::frontend::{GetDevicesResponse, ListCaptureResponse};
 use lazy_static::lazy_static;
 use netsim_common::util::time_display::TimeDisplay;
-use protobuf::Message;
 use protobuf_json_mapping::{print_to_string_with_options, PrintOptions};
 use std::collections::HashSet;
 use std::fs::File;
@@ -42,7 +41,7 @@
 use std::time::{SystemTime, UNIX_EPOCH};
 
 use crate::captures::capture::{Captures, ChipId};
-use crate::ffi::{get_devices_bytes, CxxServerResponseWriter};
+use crate::ffi::CxxServerResponseWriter;
 use crate::http_server::http_request::{HttpHeaders, HttpRequest};
 use crate::http_server::server_response::ResponseWritable;
 use crate::system;
@@ -72,26 +71,11 @@
 /// Note: if a device disconnects and there is captured data, the entry
 /// remains with a flag valid = false so it can be retrieved.
 pub fn update_captures() {
-    let device_response = match crate::config::get_dev() {
-        true => match crate::devices::devices_handler::get_devices() {
-            Ok(scene) => GetDevicesResponse { devices: scene.devices, ..Default::default() },
-            Err(err) => {
-                println!("{err}");
-                return;
-            }
-        },
-        false => {
-            // Perform get_devices_bytes ffi to receive bytes of GetDevicesResponse
-            // Print error and return empty hashmap if GetDevicesBytes fails.
-            let mut vec = Vec::<u8>::new();
-            if !get_devices_bytes(&mut vec) {
-                println!(
-                    "netsimd error: GetDevicesBytes failed - returning an empty set of captures"
-                );
-                return;
-            }
-            // Parse get_devices_response
-            GetDevicesResponse::parse_from_bytes(&vec).unwrap()
+    let device_response = match crate::devices::devices_handler::get_devices() {
+        Ok(scene) => GetDevicesResponse { devices: scene.devices, ..Default::default() },
+        Err(err) => {
+            println!("{err}");
+            return;
         }
     };
 
diff --git a/rust/netsim-cxx/src/http_server/mod.rs b/rust/netsim-cxx/src/http_server/mod.rs
index 82209b2..ee2ee04 100644
--- a/rust/netsim-cxx/src/http_server/mod.rs
+++ b/rust/netsim-cxx/src/http_server/mod.rs
@@ -29,10 +29,6 @@
 
 use crate::http_server::thread_pool::ThreadPool;
 
-use crate::ffi::get_devices;
-use crate::ffi::patch_device;
-use crate::ffi::reset;
-use cxx::let_cxx_string;
 use log::{error, info, warn};
 use netsim_common::util::netsim_logger;
 use std::collections::HashSet;
@@ -146,41 +142,6 @@
     writer.put_ok("text/plain", body.as_str(), &[]);
 }
 
-fn handle_devices(request: &HttpRequest, _param: &str, writer: ResponseWritable) {
-    if &request.method == "GET" {
-        let_cxx_string!(request = "");
-        let_cxx_string!(response = "");
-        let_cxx_string!(error_message = "");
-        let status = get_devices(&request, response.as_mut(), error_message.as_mut());
-        if status == 200 {
-            writer.put_ok("text/plain", response.to_string().as_str(), &[]);
-        } else {
-            let body = format!("404 Not found (netsim): {:?}", error_message.to_string());
-            writer.put_error(404, body.as_str());
-        }
-    } else if &request.method == "PATCH" {
-        let_cxx_string!(new_request = &request.body);
-        let_cxx_string!(response = "");
-        let_cxx_string!(error_message = "");
-        let status = patch_device(&new_request, response.as_mut(), error_message.as_mut());
-        if status == 200 {
-            writer.put_ok("text/plain", response.to_string().as_str(), &[]);
-        } else {
-            let body = format!("404 Not found (netsim): {:?}", error_message.to_string());
-            writer.put_error(404, body.as_str());
-        }
-    } else if &request.method == "PUT" {
-        reset();
-        writer.put_ok("text/plain", r"Device position reset success", &[]);
-    } else {
-        let body = format!(
-            "404 Not found (netsim): {:?} is not a valid method for this route",
-            request.method.to_string()
-        );
-        writer.put_error(404, body.as_str());
-    }
-}
-
 fn handle_dev(_request: &HttpRequest, _param: &str, writer: ResponseWritable) {
     writer.put_ok("text/plain", r"Welcome to netsim developer mode", &[]);
 }
@@ -189,12 +150,8 @@
     let mut router = Router::new();
     router.add_route("/", Box::new(handle_index));
     router.add_route("/version", Box::new(handle_version));
-    if crate::config::get_dev() {
-        router.add_route(r"/v1/devices", Box::new(handle_device));
-        router.add_route(r"/v1/devices/{id}", Box::new(handle_device));
-    } else {
-        router.add_route("/v1/devices", Box::new(handle_devices));
-    }
+    router.add_route(r"/v1/devices", Box::new(handle_device));
+    router.add_route(r"/v1/devices/{id}", Box::new(handle_device));
     router.add_route(r"/v1/captures", Box::new(handle_capture));
     router.add_route(r"/v1/captures/{id}", Box::new(handle_capture));
 
diff --git a/src/controller/scene_controller.cc b/src/controller/scene_controller.cc
index ae7261f..46bf955 100644
--- a/src/controller/scene_controller.cc
+++ b/src/controller/scene_controller.cc
@@ -47,39 +47,29 @@
     const std::string &guid, const std::string &device_name,
     common::ChipKind chip_kind, const std::string &chip_name,
     const std::string &manufacturer, const std::string &product_name) {
-  if (netsim::config::GetDev()) {
-    std::string chip_kind_string;
-    switch (chip_kind) {
-      case common::ChipKind::BLUETOOTH:
-        chip_kind_string = "BLUETOOTH";
-        break;
-      case common::ChipKind::WIFI:
-        chip_kind_string = "WIFI";
-        break;
-      case common::ChipKind::UWB:
-        chip_kind_string = "UWB";
-        break;
-      default:
-        chip_kind_string = "UNSPECIFIED";
-        break;
-    }
-    std::unique_ptr<scene_controller::AddChipResult> add_chip_result_ptr =
-        netsim::device::AddChipRust(guid, device_name, chip_kind_string,
-                                    chip_name, manufacturer, product_name);
-    uint32_t device_id = add_chip_result_ptr->device_id;
-    uint32_t chip_id = add_chip_result_ptr->chip_id;
-    uint32_t facade_id = add_chip_result_ptr->facade_id;
-    netsim::capture::UpdateCaptures();
-    return {device_id, chip_id, facade_id};
+  std::string chip_kind_string;
+  switch (chip_kind) {
+    case common::ChipKind::BLUETOOTH:
+      chip_kind_string = "BLUETOOTH";
+      break;
+    case common::ChipKind::WIFI:
+      chip_kind_string = "WIFI";
+      break;
+    case common::ChipKind::UWB:
+      chip_kind_string = "UWB";
+      break;
+    default:
+      chip_kind_string = "UNSPECIFIED";
+      break;
   }
-  auto device = GetDevice(guid, device_name);
-  // TODO: catch case of similar name chips
-  auto [chip_id, facade_id] =
-      device->AddChip(chip_kind, chip_name, manufacturer, product_name);
-  // notify capture handler a Chip was added
+  std::unique_ptr<scene_controller::AddChipResult> add_chip_result_ptr =
+      netsim::device::AddChipRust(guid, device_name, chip_kind_string,
+                                  chip_name, manufacturer, product_name);
+  uint32_t device_id = add_chip_result_ptr->device_id;
+  uint32_t chip_id = add_chip_result_ptr->chip_id;
+  uint32_t facade_id = add_chip_result_ptr->facade_id;
   netsim::capture::UpdateCaptures();
-  inactive_timestamp_.reset();
-  return {device->id, chip_id, facade_id};
+  return {device_id, chip_id, facade_id};
 }
 
 std::shared_ptr<Device> SceneController::GetDevice(const std::string &guid,
@@ -107,25 +97,9 @@
 
 void SceneController::RemoveChip(uint32_t device_id, uint32_t chip_id) {
   std::unique_lock<std::mutex> lock(this->mutex_);
-  if (netsim::config::GetDev()) {
-    netsim::device::RemoveChipRust(device_id, chip_id);
-    netsim::capture::UpdateCaptures();
-    return;
-  }
-  BtsLog("Scene RemoveChip %d", chip_id);
-  if (devices_.find(device_id) != devices_.end()) {
-    auto device = devices_[device_id];
-    if (device->RemoveChip(chip_id)) {
-      BtsLog("SceneController::RemoveChip device %d, no more chips", device_id);
-      this->RemoveDevice(device_id);
-      if (devices_.empty())
-        inactive_timestamp_.emplace(std::chrono::system_clock::now());
-    }
-    // notify capture handler a Chip was removed
-    netsim::capture::UpdateCaptures();
-  } else {
-    std::cerr << "Trying to remove chip from unknown device" << std::endl;
-  }
+  netsim::device::RemoveChipRust(device_id, chip_id);
+  netsim::capture::UpdateCaptures();
+  return;
 }
 
 // Returns a Device shared_ptr or nullptr
@@ -166,18 +140,7 @@
 
 // Euclidian distance between two devices.
 float SceneController::GetDistance(uint32_t id, uint32_t other_id) {
-  if (netsim::config::GetDev()) {
-    return netsim::device::GetDistanceRust(id, other_id);
-  }
-  if (devices_.find(id) == devices_.end() ||
-      devices_.find(other_id) == devices_.end()) {
-    BtsLog("Error in GetDistance %d, %d", id, other_id);
-    return 0.0;
-  }
-  auto a = devices_[id]->position;
-  auto b = devices_[other_id]->position;
-  return sqrt(
-      (pow(a.x() - b.x(), 2) + pow(a.y() - b.y(), 2) + pow(a.z() - b.z(), 2)));
+  return netsim::device::GetDistanceRust(id, other_id);
 }
 
 void SceneController::Reset() {
diff --git a/src/core/server.cc b/src/core/server.cc
index c1ad4eb..c29f0b9 100644
--- a/src/core/server.cc
+++ b/src/core/server.cc
@@ -111,16 +111,7 @@
 
   while (true) {
     std::this_thread::sleep_for(InactivityCheckInterval);
-    if (netsim::config::GetDev()) {
-      if (netsim::device::IsShutdownTimeCxx()) {
-        grpc_server->Shutdown();
-        BtsLog("Netsim has been shutdown due to inactivity.");
-        break;
-      }
-    } else if (auto seconds_to_shutdown =
-                   netsim::scene_controller::GetShutdownTime();
-               seconds_to_shutdown.has_value() &&
-               seconds_to_shutdown.value() < std::chrono::seconds(0)) {
+    if (netsim::device::IsShutdownTimeCxx()) {
       grpc_server->Shutdown();
       BtsLog("Netsim has been shutdown due to inactivity.");
       break;
diff --git a/src/frontend/frontend_server.cc b/src/frontend/frontend_server.cc
index eee7777..346a6b0 100644
--- a/src/frontend/frontend_server.cc
+++ b/src/frontend/frontend_server.cc
@@ -87,16 +87,6 @@
   grpc::Status GetDevices(grpc::ServerContext *context,
                           const google::protobuf::Empty *empty,
                           frontend::GetDevicesResponse *reply) {
-    if (netsim::config::GetDev()) {
-      return GetDevicesDev(reply);
-    }
-    const auto scene = netsim::controller::SceneController::Singleton().Get();
-    for (const auto &device : scene.devices())
-      reply->add_devices()->CopyFrom(device);
-    return grpc::Status::OK;
-  }
-
-  grpc::Status GetDevicesDev(frontend::GetDevicesResponse *reply) {
     CxxServerResponseWritable writer;
     HandleDeviceCxx(writer, "GET", "", "");
     if (writer.is_ok) {
@@ -109,18 +99,6 @@
   grpc::Status PatchDevice(grpc::ServerContext *context,
                            const frontend::PatchDeviceRequest *request,
                            google::protobuf::Empty *response) {
-    if (netsim::config::GetDev()) {
-      return PatchDeviceDev(request);
-    }
-    auto status = netsim::controller::SceneController::Singleton().PatchDevice(
-        request->device());
-    if (!status)
-      return grpc::Status(grpc::StatusCode::NOT_FOUND,
-                          "device " + request->device().name() + " not found.");
-    return grpc::Status::OK;
-  }
-
-  grpc::Status PatchDeviceDev(const frontend::PatchDeviceRequest *request) {
     CxxServerResponseWritable writer;
     std::string request_json;
     google::protobuf::util::MessageToJsonString(*request, &request_json);
@@ -134,14 +112,6 @@
   grpc::Status Reset(grpc::ServerContext *context,
                      const google::protobuf::Empty *request,
                      google::protobuf::Empty *empty) {
-    if (netsim::config::GetDev()) {
-      return ResetDev();
-    }
-    netsim::controller::SceneController::Singleton().Reset();
-    return grpc::Status::OK;
-  }
-
-  grpc::Status ResetDev() {
     CxxServerResponseWritable writer;
     HandleDeviceCxx(writer, "PUT", "", "");
     if (writer.is_ok) {
diff --git a/src/netsimd.cc b/src/netsimd.cc
index bdb9809..b85d2f7 100644
--- a/src/netsimd.cc
+++ b/src/netsimd.cc
@@ -142,7 +142,7 @@
     netsim::osutils::RedirectStdStream(netsim::NetsimdTempDirString().c_str());
   }
 
-  netsim::config::SetDev(true);
+  netsim::config::SetDev(dev);
   int hci_port = get_hci_port(hci_port_flag);
   // Daemon mode -- start radio managers
   // get netsim daemon, starting if it doesn't exist