Skip to content

Instantly share code, notes, and snippets.

View nlharri's full-sized avatar

László Harri Németh nlharri

View GitHub Profile
@nlharri
nlharri / main-thread-handling-registration.cpp
Created November 13, 2018 20:36
WifiScannerLinux - registration of Wi-Fi scanner thread
// Create a std::promise object
std::promise<void> exitSignal;
//Fetch std::future object associated with promise
std::future<void> futureObj = exitSignal.get_future();
// Starting Thread & move the future object in lambda function by reference
std::thread th(&wifiScannerThread, std::move(futureObj), wifiIfName, wifiAPCollection);
@nlharri
nlharri / main-qt-initialization.cpp
Created November 13, 2018 20:38
WiFiScannerLinux - Qt Initialization
QApplication app(argc, argv);
ShapedDashboard dashBoard;
dashBoard.setWifiAPCollection(wifiAPCollection);
dashBoard.show();
int app_exec_code = app.exec();
@nlharri
nlharri / main-thread-handling-join.cpp
Created November 13, 2018 20:41
WiFiScannerLinux - Thread Join
//Set the value in promise
exitSignal.set_value();
//Wait for thread to join
th.join();
@nlharri
nlharri / main-main.cpp
Last active November 13, 2018 20:45
WiFiScannerLinux - main.cpp - main() method
int main(int argc, char *argv[]) {
// read config file
std::ifstream confFile;
std::string wifiIfName;
confFile.open("./MeerkatWifiScanner.conf");
if (!confFile) {
std::cerr << "Unable to open file MeerkatWifiScanner.conf";
return -1;
}
confFile >> wifiIfName;
@nlharri
nlharri / main-wifiScannerThread.cpp
Created November 13, 2018 20:45
WiFiScannerLinux - main.cpp - wifiScannerThread
void wifiScannerThread(std::future<void> futureObj, std::string WifiIfName, WifiAPCollection *wifiAPCollection) {
int maxNumberOfAPs = 6; // maximal number of APs scanned
int refreshTimeInMillis = 3000; // scan frequency
while (futureObj.wait_for(std::chrono::milliseconds(1)) == std::future_status::timeout) {
std::this_thread::sleep_for(std::chrono::milliseconds(refreshTimeInMillis));
int status, i;
struct bss_info bss[maxNumberOfAPs];
@nlharri
nlharri / wifiapcollection.cpp
Created November 13, 2018 22:25
WiFiScannerLinux - wifiapcollection.cpp
#include <vector>
#include <iostream>
#include <algorithm>
#include "wifiapcollection.h"
#include "wifiap.h"
WifiAPCollection::WifiAPCollection() {
}
@nlharri
nlharri / shapeddashboard.cpp
Created November 13, 2018 22:27
WiFiScannerLinux - shapeddashboard.cpp
#include <QtWidgets>
#include <iostream>
#include <cmath>
#include "shapeddashboard.h"
#include "wifiapcollection.h"
int dots = 0;
# define MATH_PI 3.14159265358979323846 /* pi */
@nlharri
nlharri / wifiap.cpp
Created November 13, 2018 22:30
WiFiScannerLinux - wifiap.cpp
#include <string>
#include "wifiap.h"
WifiAP::WifiAP(std::string name, int rssi) {
this->name = name;
this->rssi = rssi;
}
@nlharri
nlharri / rxjs-helloworld.js
Created November 14, 2018 10:11
RxJS Tutorial - Hello World!
const { Observable } = require('rxjs');
// Create an Observable
var observable = Observable.create((observer) => {
observer.next('Hello World!');
observer.next('Hello Again!');
observer.complete();
observer.next('Bye'); // this will not be shown
});
@nlharri
nlharri / rxjs-helloworld-subscribe-with-object.js
Created November 15, 2018 16:23
RxJS Tutorial - Hello World! - Observable subscribe with object
const { Observable } = require('rxjs');
// Create an Observable
var observable = Observable.create((observer) => {
observer.next('Hello World!');
observer.next('Hello Again!');
observer.complete();
observer.next('Bye'); // this will not be shown
});