From 8f38768e656e5abd6efdf3fd57b3273ce420d22f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 11 Aug 2008 16:45:26 +0000 Subject: [PATCH] * Don't define DEBUG in public headers!!! Doing it this way will break the build for others, namely those that also include * This fixes the remaining problems of building Pe under Haiku. * Those files need a giant style cleanup... Fredrik, time to have a look at our style guide :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26931 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/device/Joystick.h | 6 +- headers/private/device/JoystickTweaker.h | 15 ++-- src/kits/device/Joystick.cpp | 99 +++++++++++++----------- src/kits/device/JoystickTweaker.cpp | 38 ++++----- 4 files changed, 81 insertions(+), 77 deletions(-) diff --git a/headers/os/device/Joystick.h b/headers/os/device/Joystick.h index db3c2f8d5b..f956bf23ad 100644 --- a/headers/os/device/Joystick.h +++ b/headers/os/device/Joystick.h @@ -16,8 +16,6 @@ #include #include -#define DEBUG - class BList; class BString; struct entry_ref; @@ -57,7 +55,7 @@ virtual ~BJoystick(); bool button2; int32 CountDevices(); - status_t GetDeviceName(int32 n, char * name, + status_t GetDeviceName(int32 n, char * name, size_t bufSize = B_OS_NAME_LENGTH); /* if you care about more than just the first two axes/buttons, here's where you go */ @@ -130,7 +128,7 @@ virtual status_t _Reserved_Joystick_6(void *, ...); uint32 _reserved_Joystick_[10]; #endif -#ifdef DEBUG +#if DEBUG public: static FILE *sLogFile; #endif diff --git a/headers/private/device/JoystickTweaker.h b/headers/private/device/JoystickTweaker.h index cb4ecf07a2..e1e806e312 100644 --- a/headers/private/device/JoystickTweaker.h +++ b/headers/private/device/JoystickTweaker.h @@ -1,14 +1,13 @@ /* - * Copyright 2008, Haiku. + * Copyright 2008, Haiku, Inc. * Distributed under the terms of the MIT License. * * Authors: - * Fredrik Modeen - * + * Fredrik Modeen */ - + #include "joystick_driver.h" - + #include #include #include @@ -22,8 +21,6 @@ #include #include -#define DEBUG - #define DEVICEPATH "/dev/joystick/" #define JOYSTICKPATH "/boot/home/config/settings/joysticks/" @@ -47,8 +44,8 @@ private: status_t save_config(const entry_ref * ref = NULL); status_t get_info(); BJoystick* fJoystick; -#ifdef DEBUG +#if DEBUG public: static FILE *sLogFile; -#endif +#endif }; diff --git a/src/kits/device/Joystick.cpp b/src/kits/device/Joystick.cpp index 2aee8d39ca..2d6e4c78da 100644 --- a/src/kits/device/Joystick.cpp +++ b/src/kits/device/Joystick.cpp @@ -3,11 +3,11 @@ * All rights reserved. * Distributed under the terms of the MIT License. */ - + /* joystick preference app JoyCalib::JoyCalib(BRect, BJoystick &, BWindow *): -__8JoyCalibG5BRectR9BJoystickP7BWindow: +__8JoyCalibG5BRectR9BJoystickP7BWindow: */ #include @@ -25,14 +25,22 @@ __8JoyCalibG5BRectR9BJoystickP7BWindow: #include "Joystick.h" -#ifdef DEBUG - inline void LOG(const char *fmt, ...) { char buf[1024]; va_list ap; va_start(ap, fmt); vsprintf(buf, fmt, ap); va_end(ap); \ - fputs(buf, BJoystick::sLogFile); fflush(BJoystick::sLogFile); } - #define LOG_ERR(text...) LOG(text) +#if DEBUG +inline void +LOG(const char *fmt, ...) +{ + char buf[1024]; + va_list ap; + va_start(ap, fmt); + vsprintf(buf, fmt, ap); + va_end(ap); + fputs(buf, BJoystick::sLogFile); fflush(BJoystick::sLogFile); +} +# define LOG_ERR(text...) LOG(text) FILE *BJoystick::sLogFile = NULL; #else - #define LOG(text...) - #define LOG_ERR(text...) fprintf(stderr, text) +# define LOG(text...) +# define LOG_ERR(text...) fprintf(stderr, text) #endif #define CALLED() LOG("%s\n", __PRETTY_FUNCTION__) @@ -40,28 +48,29 @@ FILE *BJoystick::sLogFile = NULL; #include "JoystickTweaker.h" BJoystick::BJoystick() - : _mBeBoxMode(false) - , _fDevices(new BList) - , m_info(new _joystick_info()) -{ -#ifdef DEBUG + : + _mBeBoxMode(false), + _fDevices(new BList), + m_info(new _joystick_info()) +{ +#if DEBUG sLogFile = fopen("/var/log/libdevice.log", "a"); -#endif +#endif //ScanDevices(); } BJoystick::~BJoystick() -{ +{ if (ffd >= 0) close(ffd); - + for (int32 count = _fDevices->CountItems() - 1; count >= 0; count--) { free(_fDevices->RemoveItem(count)); } - + delete _fDevices; - delete m_info; + delete m_info; } @@ -78,49 +87,49 @@ BJoystick::Open(const char *portName, bool enter_enhanced) { CALLED(); char buf[64]; - + if(!enter_enhanced) _mBeBoxMode = !enter_enhanced; - + if (portName == NULL) return B_BAD_VALUE; - - if (portName[0] != '/') + + if (portName[0] != '/') snprintf(buf, 64, DEVICEPATH"/%s", portName); else snprintf(buf, 64, "%s", portName); - + if (ffd >= 0) close(ffd); - + // TODO: BeOS don't use O_EXCL, and this seems to lead to some issues. I - // added this flag having read some comments by Marco Nelissen on the + // added this flag having read some comments by Marco Nelissen on the // annotated BeBook. I think BeOS uses O_RDWR|O_NONBLOCK here. - ffd = open(buf, O_RDWR | O_NONBLOCK | O_EXCL); - + ffd = open(buf, O_RDWR | O_NONBLOCK | O_EXCL); + if (ffd >= 0) { - // we used open() with O_NONBLOCK flag to let it return immediately, - // but we want read/write operations to block if needed, so we clear + // we used open() with O_NONBLOCK flag to let it return immediately, + // but we want read/write operations to block if needed, so we clear // that bit here. int flags = fcntl(ffd, F_GETFL); fcntl(ffd, F_SETFL, flags & ~O_NONBLOCK); - + //DriverControl(); } - // TODO: I wonder why the return type is a status_t, - // since we (as BeOS does) return the descriptor number for the device... - + // TODO: I wonder why the return type is a status_t, + // since we (as BeOS does) return the descriptor number for the device... + //Read the Joystick Description file for this port/joystick _BJoystickTweaker jt(*this); jt.get_info(m_info, portName); - + LOG("ioctl - %d\n", m_info->num_buttons); ioctl(ffd, B_JOYSTICK_SET_DEVICE_MODULE, m_info); ioctl(ffd, B_JOYSTICK_GET_DEVICE_MODULE, m_info); LOG("ioctl - %d\n", m_info->num_buttons); if (ffd >= 0) { return ffd; - } else + } else return errno; } @@ -151,13 +160,13 @@ BJoystick::CountDevices() { CALLED(); int32 count = 0; - + // Refresh devices list ScanDevices(true); - + if (_fDevices != NULL) count = _fDevices->CountItems(); - + LOG("Count = %d\n", count); return count; } @@ -196,8 +205,8 @@ BJoystick::EnterEnhancedMode(const entry_ref *ref) int32 BJoystick::CountSticks() -{ - CALLED(); +{ + CALLED(); return m_info->num_sticks; } @@ -222,7 +231,7 @@ int32 BJoystick::CountButtons() { CALLED(); - return m_info->num_buttons; + return m_info->num_buttons; } status_t @@ -232,7 +241,7 @@ BJoystick::GetControllerModule(BString *out_name) if (m_info != NULL && ffd >= 0) { out_name->SetTo(m_info->module_name); return B_OK; - } else + } else return B_ERROR; } @@ -245,7 +254,7 @@ BJoystick::GetControllerName(BString *out_name) if (m_info != NULL && ffd >= 0) { out_name->SetTo(m_info->controller_name); return B_OK; - } else + } else return B_ERROR; } @@ -254,7 +263,7 @@ bool BJoystick::IsCalibrationEnabled() { CALLED(); - return m_info->calibration_enable; + return m_info->calibration_enable; } @@ -363,7 +372,7 @@ BJoystick::save_config(const entry_ref *ref) } -/* These functions are here to maintain Binary Compatibility */ +/* These functions are here to maintain Binary Compatibility */ void BJoystick::_ReservedJoystick1() {CALLED();} void BJoystick::_ReservedJoystick2() {CALLED();} void BJoystick::_ReservedJoystick3() {CALLED();} diff --git a/src/kits/device/JoystickTweaker.cpp b/src/kits/device/JoystickTweaker.cpp index 7ea2f027f8..5a05d54261 100644 --- a/src/kits/device/JoystickTweaker.cpp +++ b/src/kits/device/JoystickTweaker.cpp @@ -3,7 +3,7 @@ * Distributed under the terms of the MIT License. * * Authors: - * Fredrik Modeen + * Fredrik Modeen * */ #include "JoystickTweaker.h" @@ -18,13 +18,13 @@ #include -#ifdef DEBUG +#if DEBUG inline void LOG(const char *fmt, ...) { char buf[1024]; va_list ap; va_start(ap, fmt); vsprintf(buf, fmt, ap); va_end(ap); \ fputs(buf, _BJoystickTweaker::sLogFile); fflush(_BJoystickTweaker::sLogFile); } #define LOG_ERR(text...) LOG(text) FILE *_BJoystickTweaker::sLogFile = NULL; #else - #define LOG(text...) + #define LOG(text...) #define LOG_ERR(text...) fprintf(stderr, text) #endif @@ -33,19 +33,19 @@ FILE *_BJoystickTweaker::sLogFile = NULL; _BJoystickTweaker::_BJoystickTweaker() { CALLED(); -#ifdef DEBUG +#if DEBUG sLogFile = fopen("/var/log/libdevice.log", "a"); -#endif +#endif } _BJoystickTweaker::_BJoystickTweaker(BJoystick &stick) { CALLED(); -#ifdef DEBUG +#if DEBUG sLogFile = fopen("/var/log/libdevice.log", "a"); -#endif - +#endif + fJoystick = &stick; } @@ -65,7 +65,7 @@ _BJoystickTweaker::save_config(const entry_ref *ref) status_t _BJoystickTweaker::scan_including_disabled(const char* rootPath, BList *list, - BEntry *rootEntry) + BEntry *rootEntry) { BDirectory root; @@ -75,9 +75,9 @@ _BJoystickTweaker::scan_including_disabled(const char* rootPath, BList *list, root.SetTo(rootPath); else return B_ERROR; - + BEntry entry; - + ASSERT(list != NULL); while ((root.GetNextEntry(&entry)) > B_ERROR ) { if (entry.IsDirectory()) { @@ -85,7 +85,7 @@ _BJoystickTweaker::scan_including_disabled(const char* rootPath, BList *list, } else { BPath path; entry.GetPath(&path); - + BString *str = new BString(path.Path()); str->RemoveFirst(rootPath); list->AddItem(str); @@ -95,7 +95,7 @@ _BJoystickTweaker::scan_including_disabled(const char* rootPath, BList *list, } -void +void _BJoystickTweaker::scan_including_disabled() { CALLED(); @@ -116,14 +116,14 @@ _BJoystickTweaker::get_info() status_t -_BJoystickTweaker::get_info(_joystick_info* info, +_BJoystickTweaker::get_info(_joystick_info* info, const char * ref) { CALLED(); status_t err = B_ERROR; BString str(JOYSTICKPATH); str.Append(ref); - + FILE *file = fopen(str.String(), "r"); if (file != NULL) { char line [STRINGLENGTHCPY]; @@ -135,20 +135,20 @@ _BJoystickTweaker::get_info(_joystick_info* info, } fclose(file); } - + err = B_OK; return err; } -void +void _BJoystickTweaker::BuildFromJoystickDesc(char *string, _joystick_info* info) { BString str(string); str.RemoveAll("\""); - + if (str.IFindFirst("module") != -1) { - str.RemoveFirst("module = "); + str.RemoveFirst("module = "); strncpy(info->module_name, str.String(), STRINGLENGTHCPY); } else if (str.IFindFirst("gadget") != -1) { str.RemoveFirst("gadget = ");