2 Copyright (C) 2012 Intel Corporation
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 #ifndef CANSOCKETREADER_H
20 #define CANSOCKETREADER_H
23 * \addtogroup libcanbus
27 #include <sys/socket.h>
30 #include "canobserver.h"
34 * \brief Asynchronous socket CAN reader.
36 * @class CANSocketReader
38 class CANSocketReader : public CUtil::Thread
42 * @param observer @link CANObserver Observer @endlink that will receives CAN bus frames.
43 * @param socket @link CANSocket CAN Socket wrapper @endlink
45 CANSocketReader(CANObserver& observer, CANSocket& socket);
46 virtual ~CANSocketReader();
49 * Starts a new thread for listening to CAN bus.
51 * @return True if no error occurs.
56 * Stops listening thread.
64 * Listening thread's main function.
71 * #CANObserver instance reference
75 CANObserver& mObserver;
77 * @link CANSocket CAN Socket wrapper @endlink instance reference
84 #endif // CANSOCKETREADER_H