00001 /* 00002 * $RCSfile: USB_DIO_32_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_32_Family declarations 00008 */ 00009 00010 00011 #if ! defined( USB_DIO_32_Family_hpp ) 00012 #define USB_DIO_32_Family_hpp 00013 00014 // {{{ includes 00015 #include <USBDevice.hpp> 00016 #include <DigitalIOSubsystem.hpp> 00017 #include <CounterSubsystem.hpp> 00018 // }}} 00019 00020 namespace AIOUSB { 00021 00022 // {{{ class USB_DIO_32_Family declarations 00023 00024 /* 00025 * this class supports product ID USB_DIO_32 00026 */ 00027 00028 class USB_DIO_32_Family : public USBDevice { 00029 protected: 00030 /* 00031 * the subsystems of this device are implemented as separate objects 00032 */ 00033 DigitalIOSubsystem digitalIOSubsystem; 00034 CounterSubsystem counterSubsystem; 00035 00036 public: 00037 USB_DIO_32_Family( int productID, int deviceIndex ); 00038 virtual ~USB_DIO_32_Family(); 00039 00040 DigitalIOSubsystem &dio() { 00041 return digitalIOSubsystem; 00042 } // dio() 00043 00044 CounterSubsystem &ctr() { 00045 return counterSubsystem; 00046 } // ctr() 00047 00048 virtual std::ostream &print( std::ostream &out ); 00049 }; // class USB_DIO_32_Family 00050 00051 // }}} 00052 00053 } // namespace AIOUSB 00054 00055 #endif 00056 00057 00058 /* end of file */