From 4afa6e2e7ce0c943a9e9903202b1f9644100d79f Mon Sep 17 00:00:00 2001 From: William Woodall Date: Sat, 14 Jan 2012 20:52:50 -0600 Subject: [PATCH] Fixing Findserial.cmake and updating serial_listener.h to remove unused functions. --- Findserial.cmake | 6 ++- include/serial/serial_listener.h | 70 ++++++++++++++++++++------------ 2 files changed, 49 insertions(+), 27 deletions(-) diff --git a/Findserial.cmake b/Findserial.cmake index 26877ab..cb839a6 100644 --- a/Findserial.cmake +++ b/Findserial.cmake @@ -1,6 +1,8 @@ -find_path(serial_INCLUDE_DIRS serial.h serial_listener.h /usr/include/serial "$ENV{NAMER_ROOT}") +find_path(serial_INCLUDE_DIRS serial.h serial_listener.h /usr/include/serial + /usr/local/include/serial "$ENV{NAMER_ROOT}") -find_library(serial_LIBRARIES serial /usr/lib "$ENV{NAMER_ROOT}") +find_library(serial_LIBRARIES serial /usr/lib /usr/local/lib + "$ENV{NAMER_ROOT}") set(serial_FOUND TRUE) diff --git a/include/serial/serial_listener.h b/include/serial/serial_listener.h index 0aebffa..318ab6f 100644 --- a/include/serial/serial_listener.h +++ b/include/serial/serial_listener.h @@ -90,31 +90,6 @@ typedef boost::function DataCallback; */ typedef boost::function ComparatorType; -/*! - * This function type describes the prototype for the logging callbacks. - * - * The function takes a std::string reference and returns nothing. It is - * called from the library when a logging message occurs. This - * allows the library user to hook into this and integrate it with their own - * logging system. It can be set with any of the setHandler - * functions. - * - * \see SerialListener::setInfoHandler, SerialListener::setDebugHandler, - * SerialListener::setWarningHandler - */ -typedef boost::function LoggingCallback; - -/*! - * This function type describes the prototype for the exception callback. - * - * The function takes a std::exception reference and returns nothing. It is - * called from the library when an exception occurs in a library thread. - * This exposes these exceptions to the user so they can to error handling. - * - * \see SerialListener::setExceptionHandler - */ -typedef boost::function ExceptionCallback; - /*! * This function type describes the prototype for the tokenizer callback. * @@ -138,6 +113,33 @@ typedef boost::function ExceptionCallback; typedef boost::function&)> TokenizerType; +#if 0 +/*! + * This function type describes the prototype for the logging callbacks. + * + * The function takes a std::string reference and returns nothing. It is + * called from the library when a logging message occurs. This + * allows the library user to hook into this and integrate it with their own + * logging system. It can be set with any of the setHandler + * functions. + * + * \see SerialListener::setInfoHandler, SerialListener::setDebugHandler, + * SerialListener::setWarningHandler + */ +typedef boost::function LoggingCallback; +#endif + +/*! + * This function type describes the prototype for the exception callback. + * + * The function takes a std::exception reference and returns nothing. It is + * called from the library when an exception occurs in a library thread. + * This exposes these exceptions to the user so they can to error handling. + * + * \see SerialListener::setExceptionHandler + */ +typedef boost::function ExceptionCallback; + /*! * Represents a filter which new data is passed through. * @@ -472,6 +474,7 @@ public: /***** Hooks and Handlers ******/ +#if 0 /*! * Sets the handler to be called when a lines is not caught by a filter. * @@ -579,6 +582,23 @@ public: setWarningHandler (LoggingCallback warning_handler) { this->warn = warning_handler; } +#endif + +/*! + * Sets the function to be called when an exception occurs internally. + * + * This allows you to hook into the exceptions that occur in threads inside + * the serial listener library. + * + * \param exception_handler A function pointer to the callback to handle new + * interal exceptions. + * + * \see serial::ExceptionCallback + */ +void +setWarningHandler (ExceptionCallback exception_handler) { + this->handle_exc = exception_handler; +} /***** Static Functions ******/