00001 /* 00002 * $RCSfile: USB_DIO_Family.hpp,v $ 00003 * $Revision: 1.1 $ 00004 * $Date: 2009/11/24 00:52:24 $ 00005 * jEdit:tabSize=4:indentSize=4:collapseFolds=1: 00006 * 00007 * class USB_DIO_Family declarations 00008 */ 00009 00010 00011 #if ! defined( USB_DIO_Family_hpp ) 00012 #define USB_DIO_Family_hpp 00013 00014 // {{{ includes 00015 #include <USBDevice.hpp> 00016 #include <DigitalIOSubsystem.hpp> 00017 // }}} 00018 00019 namespace AIOUSB { 00020 00021 // {{{ class USB_DIO_Family declarations 00022 00023 /* 00024 * this class supports product IDs from USB_DIO_48 to USB_DIO_96, USB_IIRO_16 to USB_IIRO_4, 00025 * USB_IDIO_16 to USB_IDIO_4, USB_IIRO4_2SM, USB_IIRO4_COM USB_DIO16RO8 and PICO_DIO16RO8 00026 */ 00027 00028 class USB_DIO_Family : public USBDevice { 00029 protected: 00030 /* 00031 * the subsystems of this device are implemented as separate objects 00032 */ 00033 DigitalIOSubsystem digitalIOSubsystem; 00034 00035 public: 00036 USB_DIO_Family( int productID, int deviceIndex ); 00037 virtual ~USB_DIO_Family(); 00038 00039 DigitalIOSubsystem &dio() { 00040 return digitalIOSubsystem; 00041 } // dio() 00042 00043 virtual std::ostream &print( std::ostream &out ); 00044 }; // class USB_DIO_Family 00045 00046 // }}} 00047 00048 } // namespace AIOUSB 00049 00050 #endif 00051 00052 00053 /* end of file */