00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #if ! defined( DeviceSubsystem_hpp )
00012 #define DeviceSubsystem_hpp
00013
00014
00015 #include <USBDevice.hpp>
00016
00017
00018 namespace AIOUSB {
00019
00020
00021
00026 class DeviceSubsystem {
00027 protected:
00028
00029
00030 USBDevice *parent;
00031
00032
00033
00034 DeviceSubsystem( USBDevice &parent );
00035 virtual ~DeviceSubsystem();
00036 int getDeviceIndex() const;
00037
00038
00039 public:
00040
00041
00042
00043
00044
00045 virtual std::ostream &print( std::ostream &out ) = 0;
00046
00052 USBDevice &getParent() {
00053 return *parent;
00054 }
00055
00056 };
00057
00058
00059
00060 }
00061
00062 #endif
00063
00064
00065