00001 #ifndef QRK_FIND_COM_PORTS_H
00002 #define QRK_FIND_COM_PORTS_H
00003
00015 #include <string>
00016 #include <vector>
00017 #include <memory>
00018
00019
00020 namespace qrk
00021 {
00028 class FindComPorts
00029 {
00030 public:
00031 FindComPorts(void);
00032 ~FindComPorts(void);
00033
00034
00038 void clearBaseNames(void);
00039
00040
00046 void addBaseName(const char* base_name);
00047
00048
00056 std::vector<std::string> baseNames(void);
00057
00058
00059 void addDriverName(const char* driver_name);
00060
00061
00070 size_t find(std::vector<std::string>& ports, bool all_ports = true);
00071
00072 size_t find(std::vector<std::string>& ports,
00073 std::vector<std::string>& driver_names, bool all_ports = true);
00074
00075 private:
00076 FindComPorts(const FindComPorts& rhs);
00077 FindComPorts& operator = (const FindComPorts& rhs);
00078
00079 struct pImpl;
00080 std::auto_ptr<pImpl> pimpl;
00081 };
00082 }
00083
00084 #endif