--- a/src/SpacenavWrapper.cpp Thu Mar 07 17:56:38 2019 +0100
+++ b/src/SpacenavWrapper.cpp Thu Mar 07 18:33:22 2019 +0100
@@ -20,31 +20,27 @@
#include "SpacenavWrapper.h"
SpacenavWrapper::SpacenavWrapper() {
- // TODO: remove logging
if (spnav_open() == 0) {
- std::wcout << L"connected through: AF_UNIX socket" << std::endl;
+ connectionStatus = SpacenavWrapper::ConnectionStatus::DOMAIN_SOCKET;
+ return;
} else {
-
Display* display;
Window window;
unsigned long blackPixel;
+ if (display = XOpenDisplay(0)) {
- if (!(display = XOpenDisplay(0))) {
- std::wcout << L"unable to connect to the X server" << std::endl;
- return; // TODO: throw exception
- }
+ blackPixel = BlackPixel(display, DefaultScreen(display));
+ window = XCreateSimpleWindow(display, DefaultRootWindow(display), 0, 0, 1, 1, 0, blackPixel, blackPixel);
- blackPixel = BlackPixel(display, DefaultScreen(display));
- window = XCreateSimpleWindow(display, DefaultRootWindow(display), 0, 0, 1, 1, 0, blackPixel, blackPixel);
-
- if (spnav_x11_open(display, window) == 0) {
- std::wcout << L"connected through: X11" << std::endl;
- } else {
- std::wcout << L"unable to connect to the space navigator daemon" << std::endl;
- return; // TODO: throw exception
+ if (spnav_x11_open(display, window) == 0) {
+ connectionStatus = SpacenavWrapper::ConnectionStatus::X11;
+ return;
+ }
}
}
+
+ connectionStatus = SpacenavWrapper::ConnectionStatus::NONE;
}
SpacenavWrapper::~SpacenavWrapper() {
@@ -53,6 +49,10 @@
spnav_close();
}
+SpacenavWrapper::ConnectionStatus SpacenavWrapper::getConnectionStatus() {
+ return connectionStatus;
+}
+
SpacenavWrapper::Event SpacenavWrapper::waitEvent() {
SpacenavWrapper::Event e;
spnav_event event;