From 4c9124e56bfa57a549f5a0300ee3fad72e6f7ee4 Mon Sep 17 00:00:00 2001
From: Ingo Ruhnke <grumbel@gmx.de>
Date: Sat, 27 Dec 2008 05:20:47 +0100
Subject: [PATCH] Moved xboxdrv stuff into subdirectory as well

---
 SConstruct                                    | 18 ++++++++---------
 .../command_line_options.cpp                  |  0
 .../command_line_options.hpp                  |  0
 helper.cpp => src/helper.cpp                  |  0
 helper.hpp => src/helper.hpp                  |  0
 src/inputdrv/uinput_driver.cpp                | 20 +++++++++++++------
 src/inputdrv/xbox360_driver.cpp               |  2 +-
 src/inputdrv/xbox360_driver.hpp               |  2 +-
 src/inputdrv/xbox360_usb_thread.cpp           |  2 +-
 src/inputdrv/xbox360_usb_thread.hpp           |  2 +-
 .../sixaxis_controller.hpp                    |  0
 uinput.cpp => src/uinput.cpp                  |  0
 uinput.hpp => src/uinput.hpp                  |  0
 .../xbox360_controller.cpp                    |  0
 .../xbox360_controller.hpp                    |  0
 .../xbox360_wireless_controller.cpp           |  0
 .../xbox360_wireless_controller.hpp           |  0
 .../xbox_controller.cpp                       |  0
 .../xbox_controller.hpp                       |  0
 .../xbox_generic_controller.hpp               |  0
 xboxdrv.cpp => src/xboxdrv.cpp                |  0
 xboxdrv.hpp => src/xboxdrv.hpp                |  0
 xboxmsg.cpp => src/xboxmsg.cpp                |  0
 xboxmsg.hpp => src/xboxmsg.hpp                |  0
 24 files changed, 27 insertions(+), 19 deletions(-)
 rename command_line_options.cpp => src/command_line_options.cpp (100%)
 rename command_line_options.hpp => src/command_line_options.hpp (100%)
 rename helper.cpp => src/helper.cpp (100%)
 rename helper.hpp => src/helper.hpp (100%)
 rename sixaxis_controller.hpp => src/sixaxis_controller.hpp (100%)
 rename uinput.cpp => src/uinput.cpp (100%)
 rename uinput.hpp => src/uinput.hpp (100%)
 rename xbox360_controller.cpp => src/xbox360_controller.cpp (100%)
 rename xbox360_controller.hpp => src/xbox360_controller.hpp (100%)
 rename xbox360_wireless_controller.cpp => src/xbox360_wireless_controller.cpp (100%)
 rename xbox360_wireless_controller.hpp => src/xbox360_wireless_controller.hpp (100%)
 rename xbox_controller.cpp => src/xbox_controller.cpp (100%)
 rename xbox_controller.hpp => src/xbox_controller.hpp (100%)
 rename xbox_generic_controller.hpp => src/xbox_generic_controller.hpp (100%)
 rename xboxdrv.cpp => src/xboxdrv.cpp (100%)
 rename xboxdrv.hpp => src/xboxdrv.hpp (100%)
 rename xboxmsg.cpp => src/xboxmsg.cpp (100%)
 rename xboxmsg.hpp => src/xboxmsg.hpp (100%)

diff --git a/SConstruct b/SConstruct
index 6ea51c0..15110e0 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,17 +1,17 @@
 # -*- python -*-
 
 env = Environment(CPPFLAGS=["-g", "-O2", "-Wall"], LIBS=["usb"])
-env.Program("xboxdrv", ["xboxdrv.cpp", 
-                        "xboxmsg.cpp",
-                        "uinput.cpp",
-                        "helper.cpp",
-                        "command_line_options.cpp",
-                        "xbox_controller.cpp",
-                        "xbox360_controller.cpp",
-                        "xbox360_wireless_controller.cpp",
+env.Program("xboxdrv", ["src/xboxdrv.cpp", 
+                        "src/xboxmsg.cpp",
+                        "src/uinput.cpp",
+                        "src/helper.cpp",
+                        "src/command_line_options.cpp",
+                        "src/xbox_controller.cpp",
+                        "src/xbox360_controller.cpp",
+                        "src/xbox360_wireless_controller.cpp",
                         ])
 
-if False:
+if True:
     env.Program("inputdrv",
                 ["src/inputdrv/inputdrv.cpp",
                  "src/inputdrv/xbox360_driver.cpp",
diff --git a/command_line_options.cpp b/src/command_line_options.cpp
similarity index 100%
rename from command_line_options.cpp
rename to src/command_line_options.cpp
diff --git a/command_line_options.hpp b/src/command_line_options.hpp
similarity index 100%
rename from command_line_options.hpp
rename to src/command_line_options.hpp
diff --git a/helper.cpp b/src/helper.cpp
similarity index 100%
rename from helper.cpp
rename to src/helper.cpp
diff --git a/helper.hpp b/src/helper.hpp
similarity index 100%
rename from helper.hpp
rename to src/helper.hpp
diff --git a/src/inputdrv/uinput_driver.cpp b/src/inputdrv/uinput_driver.cpp
index 7458b7f..f15e0c3 100644
--- a/src/inputdrv/uinput_driver.cpp
+++ b/src/inputdrv/uinput_driver.cpp
@@ -135,7 +135,8 @@ UInputDriver::on_rel(RelPortOut* port, uint16_t code)
       ev.code  = code;
       ev.value = port->get_state();
 
-      write(fd, &ev, sizeof(ev));  
+      if (write(fd, &ev, sizeof(ev)) < 0)
+        throw std::runtime_error(strerror(errno));
 
       // Mouse Dev need these to send out events
       memset(&ev, 0, sizeof(ev));
@@ -144,7 +145,8 @@ UInputDriver::on_rel(RelPortOut* port, uint16_t code)
       ev.type  = EV_SYN;
       ev.code  = SYN_REPORT;
 
-      write(fd, &ev, sizeof(ev));  
+      if (write(fd, &ev, sizeof(ev)) < 0)
+        throw std::runtime_error(strerror(errno));
     }
 }
 
@@ -159,7 +161,8 @@ UInputDriver::on_abs(AbsPortOut* port, uint16_t code)
   ev.code  = code;
   ev.value = port->get_state();
 
-  write(fd, &ev, sizeof(ev)); 
+  if (write(fd, &ev, sizeof(ev)) < 0)
+    throw std::runtime_error(strerror(errno));
 }
 
 void
@@ -173,7 +176,8 @@ UInputDriver::on_btn(BtnPortOut* port, uint16_t code)
   ev.code  = code;
   ev.value = port->get_state();
 
-  write(fd, &ev, sizeof(ev)); 
+  if (write(fd, &ev, sizeof(ev)) < 0)
+    throw std::runtime_error(strerror(errno));
 
   // Mouse Dev need these to send out events
   memset(&ev, 0, sizeof(ev));
@@ -182,14 +186,18 @@ UInputDriver::on_btn(BtnPortOut* port, uint16_t code)
   ev.type  = EV_SYN;
   ev.code  = SYN_REPORT;
 
-  write(fd, &ev, sizeof(ev));  
+  if (write(fd, &ev, sizeof(ev)) < 0)
+    throw std::runtime_error(strerror(errno));
 }
 
 void
 UInputDriver::finish()
 {
   std::cout << "Finalizing UInput" << std::endl;
-  write(fd, &user_dev, sizeof(user_dev));
+
+  if (write(fd, &user_dev, sizeof(user_dev)) < 0)
+    throw std::runtime_error(strerror(errno));
+
   if (ioctl(fd, UI_DEV_CREATE))
     {
       std::cout << "Unable to create UINPUT device." << std::endl;
diff --git a/src/inputdrv/xbox360_driver.cpp b/src/inputdrv/xbox360_driver.cpp
index fac9a92..b92482a 100644
--- a/src/inputdrv/xbox360_driver.cpp
+++ b/src/inputdrv/xbox360_driver.cpp
@@ -22,7 +22,7 @@
 #include <iostream>
 #include <boost/format.hpp>
 #include <boost/bind.hpp>
-#include "../../xboxmsg.hpp"
+#include "../xboxmsg.hpp"
 #include "log.hpp"
 #include "xbox360_usb_thread.hpp"
 #include "xbox360_driver.hpp"
diff --git a/src/inputdrv/xbox360_driver.hpp b/src/inputdrv/xbox360_driver.hpp
index 68c29cf..132c810 100644
--- a/src/inputdrv/xbox360_driver.hpp
+++ b/src/inputdrv/xbox360_driver.hpp
@@ -20,7 +20,7 @@
 #define HEADER_XBOX360_DRIVER_HPP
 
 #include <vector>
-#include "../../xboxdrv.hpp"
+#include "../xboxdrv.hpp"
 #include "control.hpp"
 
 class Xbox360UsbThread;
diff --git a/src/inputdrv/xbox360_usb_thread.cpp b/src/inputdrv/xbox360_usb_thread.cpp
index a621213..1d0a7d1 100644
--- a/src/inputdrv/xbox360_usb_thread.cpp
+++ b/src/inputdrv/xbox360_usb_thread.cpp
@@ -22,7 +22,7 @@
 #include <stdexcept>
 #include <boost/format.hpp>
 #include "log.hpp"
-#include "../../xboxmsg.hpp"
+#include "../xboxmsg.hpp"
 #include "xbox360_usb_thread.hpp"
 
 Xbox360UsbThread::Xbox360UsbThread(struct usb_device* dev)
diff --git a/src/inputdrv/xbox360_usb_thread.hpp b/src/inputdrv/xbox360_usb_thread.hpp
index e3f35e5..3821230 100644
--- a/src/inputdrv/xbox360_usb_thread.hpp
+++ b/src/inputdrv/xbox360_usb_thread.hpp
@@ -22,7 +22,7 @@
 #include <inttypes.h>
 #include <pthread.h>
 #include <queue>
-#include "../../xboxdrv.hpp"
+#include "../xboxdrv.hpp"
 
 /** A worker thread that reads from the USB device in a blocking
     fashion, so that the Xbox360Driver can stay non blocking. 
diff --git a/sixaxis_controller.hpp b/src/sixaxis_controller.hpp
similarity index 100%
rename from sixaxis_controller.hpp
rename to src/sixaxis_controller.hpp
diff --git a/uinput.cpp b/src/uinput.cpp
similarity index 100%
rename from uinput.cpp
rename to src/uinput.cpp
diff --git a/uinput.hpp b/src/uinput.hpp
similarity index 100%
rename from uinput.hpp
rename to src/uinput.hpp
diff --git a/xbox360_controller.cpp b/src/xbox360_controller.cpp
similarity index 100%
rename from xbox360_controller.cpp
rename to src/xbox360_controller.cpp
diff --git a/xbox360_controller.hpp b/src/xbox360_controller.hpp
similarity index 100%
rename from xbox360_controller.hpp
rename to src/xbox360_controller.hpp
diff --git a/xbox360_wireless_controller.cpp b/src/xbox360_wireless_controller.cpp
similarity index 100%
rename from xbox360_wireless_controller.cpp
rename to src/xbox360_wireless_controller.cpp
diff --git a/xbox360_wireless_controller.hpp b/src/xbox360_wireless_controller.hpp
similarity index 100%
rename from xbox360_wireless_controller.hpp
rename to src/xbox360_wireless_controller.hpp
diff --git a/xbox_controller.cpp b/src/xbox_controller.cpp
similarity index 100%
rename from xbox_controller.cpp
rename to src/xbox_controller.cpp
diff --git a/xbox_controller.hpp b/src/xbox_controller.hpp
similarity index 100%
rename from xbox_controller.hpp
rename to src/xbox_controller.hpp
diff --git a/xbox_generic_controller.hpp b/src/xbox_generic_controller.hpp
similarity index 100%
rename from xbox_generic_controller.hpp
rename to src/xbox_generic_controller.hpp
diff --git a/xboxdrv.cpp b/src/xboxdrv.cpp
similarity index 100%
rename from xboxdrv.cpp
rename to src/xboxdrv.cpp
diff --git a/xboxdrv.hpp b/src/xboxdrv.hpp
similarity index 100%
rename from xboxdrv.hpp
rename to src/xboxdrv.hpp
diff --git a/xboxmsg.cpp b/src/xboxmsg.cpp
similarity index 100%
rename from xboxmsg.cpp
rename to src/xboxmsg.cpp
diff --git a/xboxmsg.hpp b/src/xboxmsg.hpp
similarity index 100%
rename from xboxmsg.hpp
rename to src/xboxmsg.hpp