SeaBreeze
include
common
buses
Bus.h
Go to the documentation of this file.
1
/***************************************************/
37
#ifndef SEABREEZE_BUS_H
38
#define SEABREEZE_BUS_H
39
40
#include "
common/protocols/ProtocolHint.h
"
41
#include "
common/buses/TransferHelper.h
"
42
#include "
common/buses/BusFamily.h
"
43
#include "
common/buses/DeviceLocatorInterface.h
"
44
#include "
common/exceptions/IllegalArgumentException.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
seabreeze::DeviceLocatorInterface
Definition:
DeviceLocatorInterface.h:47
BusFamily.h
ProtocolHint.h
TransferHelper.h
seabreeze::BusFamily
Definition:
BusFamily.h:38
seabreeze::TransferHelper
Definition:
TransferHelper.h:46
IllegalArgumentException.h
seabreeze::Bus
Definition:
Bus.h:48
seabreeze
Encapsulates all SeaBreeze classes.
Definition:
DeviceFactory.h:42
DeviceLocatorInterface.h
seabreeze::IllegalArgumentException
Definition:
IllegalArgumentException.h:43
Generated on Sun Jan 19 2020 16:01:08 for SeaBreeze by
1.8.13