00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef CONTROLMANAGER_H_
00025 #define CONTROLMANAGER_H_
00026
00027 #include <string>
00028 #include <list>
00029
00030 #include "Control_avcap.h"
00031 #include "Manager.h"
00032 #include "avcap-export.h"
00033
00034 namespace avcap
00035 {
00037
00045 class AVCAP_Export ControlManager:public Manager<Control>
00046 {
00047 protected:
00048 ListType mControls;
00049
00050 public:
00052
00053 ControlManager(DeviceDescriptor *dd);
00054
00056 virtual ~ControlManager() = 0;
00057
00059
00061 Control* getControl(const std::string& name);
00062
00064
00066 Control* getControl(int id);
00067
00069
00070 inline const ListType& getControlList()
00071 { return (const ListType&) mControls; }
00072
00074
00075 virtual int resetAll();
00076
00077 virtual void query() = 0;
00078 };
00079 }
00080
00081
00082 #endif //CONTROLMANAGER_H_