00001 /*************************************************************************** 00002 tag: Peter Soetens Mon Jan 19 14:11:20 CET 2004 CANDeviceInterface.hpp 00003 00004 CANDeviceInterface.hpp - description 00005 ------------------- 00006 begin : Mon January 19 2004 00007 copyright : (C) 2004 Peter Soetens 00008 email : peter.soetens@mech.kuleuven.ac.be 00009 00010 *************************************************************************** 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU Lesser General Public * 00013 * License as published by the Free Software Foundation; either * 00014 * version 2.1 of the License, or (at your option) any later version. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00019 * Lesser General Public License for more details. * 00020 * * 00021 * You should have received a copy of the GNU Lesser General Public * 00022 * License along with this library; if not, write to the Free Software * 00023 * Foundation, Inc., 59 Temple Place, * 00024 * Suite 330, Boston, MA 02111-1307 USA * 00025 * * 00026 ***************************************************************************/ 00027 00028 #ifndef CANDEVICEINTERFACE_HPP 00029 #define CANDEVICEINTERFACE_HPP 00030 00031 namespace RTT 00032 {namespace CAN 00033 { 00034 class CANMessage; 00035 00040 struct CANListenerInterface 00041 { 00042 virtual ~CANListenerInterface() {} 00043 00051 virtual void process(const CANMessage* msg) = 0; 00052 }; 00053 00062 struct CANDeviceInterface 00063 : public CANListenerInterface 00064 { 00069 CANDeviceInterface() 00070 : status( PowerOff ) {} 00071 virtual ~CANDeviceInterface() {} 00072 00076 virtual unsigned int nodeId() const = 0; 00077 00081 enum NodeStatus { PowerOff, Initialisation, PreOperational, Stopped, Operational }; 00082 00086 NodeStatus status; 00087 }; 00088 00089 }} 00090 00091 00092 #endif 00093 00094
1.5.8