00001 /* 00002 * $RCSfile: USB_CTR_15_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_CTR_15_Family declarations 00008 */ 00009 00010 #if ! defined( USB_CTR_15_Family_hpp ) 00011 #define USB_CTR_15_Family_hpp 00012 00013 // {{{ includes 00014 #include <USBDevice.hpp> 00015 #include <CounterSubsystem.hpp> 00016 // }}} 00017 00018 namespace AIOUSB { 00019 00033 class USB_CTR_15_Family : public USBDevice { 00034 friend class USBDeviceManager; 00035 00036 // {{{ static members 00037 private: 00038 static IntArray supportedProductIDs; 00039 00040 static void initialize(); 00041 // }}} 00042 00043 // {{{ protected members 00044 protected: 00045 CounterSubsystem counterSubsystem; 00046 // }}} 00047 00048 // {{{ protected methods 00049 protected: 00050 USB_CTR_15_Family( int productID, int deviceIndex ); 00051 virtual ~USB_CTR_15_Family(); 00052 // }}} 00053 00054 // {{{ public methods 00055 public: 00056 00057 /* 00058 * properties 00059 */ 00060 00061 static StringArray getSupportedProductNames(); 00062 static IntArray getSupportedProductIDs(); 00063 static bool isSupportedProductID( int productID ); 00064 virtual std::ostream &print( std::ostream &out ); 00065 00066 /* 00067 * subsystems 00068 */ 00069 00075 CounterSubsystem &ctr() { 00076 return counterSubsystem; 00077 } // ctr() 00078 00079 // }}} 00080 00081 }; // class USB_CTR_15_Family 00082 00083 } // namespace AIOUSB 00084 00085 #endif 00086 00087 /* end of file */