MIDIDeviceList.hxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __MIDIDeviceList__
00023 #define __MIDIDeviceList__
00024
00025 #include "MIDIDevice.hxx"
00026
00027 namespace CLAM{
00028
00040 class MIDIDeviceList
00041 {
00042 friend class MIDIManager;
00043 private:
00044 std::string mArch;
00045 protected:
00046 std::vector<std::string> mAvailableDevices;
00047
00048 void AddMe(void);
00049 public:
00050 typedef std::vector<MIDIDeviceList*>::const_iterator list_iterator;
00051 protected:
00055 MIDIDeviceList(const std::string& arch);
00056
00058 virtual ~MIDIDeviceList();
00059
00062 const std::string& ArchName() {return mArch;}
00063
00069 virtual MIDIDevice* Create(
00070 const std::string& name,const std::string& device) = 0;
00071
00076
00077
00082
00083 public:
00087 const std::vector<std::string>& AvailableDevices(void)
00088 {
00089 return mAvailableDevices;
00090 }
00091
00095 virtual std::string DefaultDevice(void) = 0;
00096 };
00097
00098 };
00099
00100 #endif
00101