SeaBreeze
DeviceLocatorInterface.h
Go to the documentation of this file.
1 /***************************************************/
39 #ifndef DEVICELOCATORINTERFACE_H
40 #define DEVICELOCATORINTERFACE_H
41 
42 #include <string>
43 #include "common/buses/BusFamily.h"
44 
45 namespace seabreeze {
46 
48  public:
49  virtual ~DeviceLocatorInterface() = 0;
50 
55  virtual unsigned long getUniqueLocation() const = 0;
56 
61  virtual bool equals(DeviceLocatorInterface &that) = 0;
62 
66  virtual std::string getDescription() = 0;
67 
71  virtual BusFamily getBusFamily() const = 0;
72 
73  /* Get an exact copy of this instance */
74  virtual DeviceLocatorInterface *clone() const = 0;
75  };
76 
77  /* Default implementation for (otherwise) pure virtual destructor */
78  inline DeviceLocatorInterface::~DeviceLocatorInterface() {}
79 
80 }
81 
82 #endif /* DEVICELOCATORINTERFACE_H */
virtual std::string getDescription()=0
Definition: DeviceLocatorInterface.h:47
Definition: BusFamily.h:38
virtual bool equals(DeviceLocatorInterface &that)=0
virtual unsigned long getUniqueLocation() const =0
virtual BusFamily getBusFamily() const =0
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42