00001 /* 00002 * $RCSfile: USB_DA12_8A_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_DA12_8A_Family declarations 00008 */ 00009 00010 00011 #if ! defined( USB_DA12_8A_Family_hpp ) 00012 #define USB_DA12_8A_Family_hpp 00013 00014 // {{{ includes 00015 #include <USBDevice.hpp> 00016 #include <DA12_AnalogOutputSubsystem.hpp> 00017 #include <DigitalIOSubsystem.hpp> 00018 // }}} 00019 00020 namespace AIOUSB { 00021 00035 class USB_DA12_8A_Family : public USBDevice { 00036 friend class USBDeviceManager; 00037 00038 // {{{ static members 00039 private: 00040 static IntArray supportedProductIDs; 00041 00042 static void initialize(); 00043 // }}} 00044 00045 // {{{ protected members 00046 protected: 00047 DA12_AnalogOutputSubsystem analogOutputSubsystem; 00048 // }}} 00049 00050 // {{{ protected methods 00051 protected: 00052 USB_DA12_8A_Family( int productID, int deviceIndex ); 00053 virtual ~USB_DA12_8A_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 DA12_AnalogOutputSubsystem &dac() { 00078 return analogOutputSubsystem; 00079 } // adc() 00080 00081 // }}} 00082 00083 }; // class USB_DA12_8A_Family 00084 00085 } // namespace AIOUSB 00086 00087 #endif 00088 00089 /* end of file */