automotive-message-broker  0.14.803
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
cansocketreader.h
1 /*
2 Copyright (C) 2012 Intel Corporation
3 
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.
8 
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.
13 
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
17 */
18 
19 #ifndef CANSOCKETREADER_H
20 #define CANSOCKETREADER_H
21 
27 #include <sys/socket.h>
28 
29 #include "thread.h"
30 #include "canobserver.h"
31 
32 class CANSocket;
39 {
40 public:
45  CANSocketReader(CANObserver& observer, CANSocket& socket);
46  virtual ~CANSocketReader();
47 
54  virtual bool start();
60  virtual void stop();
61 
62 private:
67  virtual void run();
68 
74  virtual void dispatchMessage(const CANFrameInfo &message);
75 
76 private:
82  CANObserver& mObserver;
88  CANSocket& mSocket;
89 };
90 
91 #endif // CANSOCKETREADER_H
92