00001 // 00002 // BasicDevice.hpp 00003 // 00004 // Basis-Datentyp fuer alle Devices (Geraetetreiber, Datenquellen) 00005 // 00006 00007 #ifndef BASICDEVICE_HPP 00008 #define BASICDEVICE_HPP 00009 00010 #include "../BasicDatatypes.hpp" 00011 00012 namespace devices 00013 { 00014 00015 // Container fuer alle Devices 00016 class BasicDevice 00017 { 00018 public: 00019 BasicDevice(); 00020 virtual ~BasicDevice(); 00021 00022 UINT16 getDevicetype(); 00023 UINT16 getSourceId(); 00024 void setSourceId(UINT16 deviceId); 00025 void setDeviceName(std::string name); 00026 std::string getDeviceName(); 00027 00028 // Diese Funktionen koennen da sein. 00029 virtual bool init() {return true;}; 00030 00031 // Diese Funktionen muessen da sein. 00032 virtual bool run() = 0; 00033 virtual bool stop() = 0; 00034 00035 protected: 00036 void setDevicetype(UINT16 devicetype); // {m_devicetype = devicetype;} 00037 bool m_beVerbose; // Debug-Ausgaben an oder aus. 00038 00039 private: 00040 UINT16 m_devicetype; // Der Geratetyp (=Sourcetype) 00041 UINT16 m_sourceId; // Die ID 00042 std::string m_deviceName; // Ein sprechender Name 00043 }; 00044 00045 00046 } // namespace devices 00047 00048 #endif