aboutsummaryrefslogtreecommitdiff
path: root/apps/ble-scan.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/ble-scan.h')
-rw-r--r--apps/ble-scan.h79
1 files changed, 0 insertions, 79 deletions
diff --git a/apps/ble-scan.h b/apps/ble-scan.h
deleted file mode 100644
index 2c183e3..0000000
--- a/apps/ble-scan.h
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "ble/Bluetooth.h"
-#include "apps.h"
-
-#include <csignal>
-
-namespace trygvis {
-namespace apps {
-
-using namespace std;
-using namespace trygvis::bluetooth;
-using namespace trygvis::apps;
-
-namespace ble_scan_utils {
-
-static std::function<void(int)> onSignal;
-
-static void signal_handler(int signal) {
- onSignal(signal);
-}
-}
-
-class ble_scan : public app {
-public:
- ble_scan() : app("ble-scan") {
- }
-
- ~ble_scan() = default;
-
- void add_options(po::options_description_easy_init &options) override {
- options("adapter", po::value<int>()->default_value(0), "Which adapter to use.");
- }
-
- int main(app_execution &execution) override {
- BluetoothSystem bluetoothSystem;
- shared_ptr<BluetoothAdapter> adapter;
-
- struct sigaction sigIntHandler;
-
- ble_scan_utils::onSignal = [&](int signal) { adapter->stopScan(); };
-
- sigIntHandler.sa_handler = &ble_scan_utils::signal_handler;
- sigemptyset(&sigIntHandler.sa_mask);
- sigIntHandler.sa_flags = 0;
-
- sigaction(SIGINT, &sigIntHandler, NULL);
-
- try {
- auto adapter_index = execution.vm["adapter"].as<int>();
-
- adapter = getAdapter(adapter_index);
-
- set<Mac> seen_devices;
-
- cout << "Scanning with adapter #" << adapter_index << ", mac=" << adapter->getMac().str() << endl;
-
- adapter->runScan([&](BluetoothDevice &device) {
- auto mac = device.getMac();
-
- cout << "Found: " << mac.str() << endl;
-
- seen_devices.insert(mac);
- });
-
- cout << "Stopped. Found " << seen_devices.size() << " devices." << endl;
-
- for_each(begin(seen_devices), end(seen_devices), [&](auto mac) { cout << mac.str() << endl; });
-
- return EXIT_SUCCESS;
- } catch (std::runtime_error ex) {
- cout << "std::runtime_error: " << ex.what() << endl;
- return EXIT_FAILURE;
- } catch (std::exception ex) {
- cout << "std::exception: " << ex.what() << endl;
- return EXIT_FAILURE;
- }
- }
-};
-}
-}