SeaBreeze
Bus.h
Go to the documentation of this file.
1 /***************************************************/
37 #ifndef SEABREEZE_BUS_H
38 #define SEABREEZE_BUS_H
39 
42 #include "common/buses/BusFamily.h"
45 
46 namespace seabreeze {
47 
48  class Bus {
49  public:
50  Bus();
51  virtual ~Bus();
52  virtual TransferHelper *getHelper(const std::vector<ProtocolHint *> &hints) const = 0;
53  virtual BusFamily getBusFamily() const = 0;
54  /* Associate this Bus instance with a particular device location.
55  * This MUST be done before open or close can be used.
56  */
57  virtual void setLocation(const DeviceLocatorInterface &location)
58  throw (IllegalArgumentException) = 0;
59  virtual bool open() = 0;
60  virtual void close() = 0;
61  virtual DeviceLocatorInterface *getLocation() = 0;
62  };
63 
64 }
65 
66 #endif
Definition: DeviceLocatorInterface.h:47
Definition: BusFamily.h:38
Definition: TransferHelper.h:46
Definition: Bus.h:48
Encapsulates all SeaBreeze classes.
Definition: DeviceFactory.h:42
Definition: IllegalArgumentException.h:43