00001 /* 00002 * $RCSfile: USB_DIO_16_Family.hpp,v $ 00003 * $Revision: 1.5 $ 00004 * $Date: 2009/12/23 22:39:10 $ 00005 * jEdit:tabSize=4:indentSize=4:collapseFolds=1: 00006 * 00007 * class USB_DIO_16_Family declarations 00008 */ 00009 00010 #if ! defined( USB_DIO_16_Family_hpp ) 00011 #define USB_DIO_16_Family_hpp 00012 00013 // {{{ includes 00014 #include <USBDevice.hpp> 00015 #include <DigitalIOSubsystem.hpp> 00016 #include <DIOStreamSubsystem.hpp> 00017 // }}} 00018 00019 namespace AIOUSB { 00020 00034 class USB_DIO_16_Family : public USBDevice { 00035 friend class USBDeviceManager; 00036 00037 // {{{ static members 00038 private: 00039 static IntArray supportedProductIDs; 00040 00041 static void initialize(); 00042 // }}} 00043 00044 // {{{ protected members 00045 protected: 00046 DigitalIOSubsystem digitalIOSubsystem; 00047 DIOStreamSubsystem dioStreamSubsystem; 00048 // }}} 00049 00050 // {{{ protected methods 00051 protected: 00052 USB_DIO_16_Family( int productID, int deviceIndex ); 00053 virtual ~USB_DIO_16_Family(); 00054 // }}} 00055 00056 // {{{ public methods 00057 public: 00058 00059 /* 00060 * properties 00061 */ 00062 00063 static StringArray getSupportedProductNames(); 00064 static IntArray getSupportedProductIDs(); 00065 static bool isSupportedProductID( int productID ); 00066 virtual std::ostream &print( std::ostream &out ); 00067 00068 /* 00069 * subsystems 00070 */ 00071 00077 DigitalIOSubsystem &dio() { 00078 return digitalIOSubsystem; 00079 } // dio() 00080 00086 DIOStreamSubsystem &diostream() { 00087 return dioStreamSubsystem; 00088 } // diostream() 00089 00090 // }}} 00091 00092 }; // class USB_DIO_16_Family 00093 00094 } // namespace AIOUSB 00095 00096 #endif 00097 00098 /* end of file */