root/trunk/libffado/src/genericavc/avc_vendormodel.h

Revision 864, 2.2 kB (checked in by ppalmers, 16 years ago)

update license to GPLv2 or GPLv3 instead of GPLv2 or any later version. Update copyrights to reflect the new year

Line 
1 /*
2  * Copyright (C) 2005-2008 by Daniel Wagner
3  *
4  * This file is part of FFADO
5  * FFADO = Free Firewire (pro-)audio drivers for linux
6  *
7  * FFADO is based upon FreeBoB.
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 2 of the License, or
12  * (at your option) version 3 of the License.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  *
22  */
23
24 #ifndef GENERICAVC_VENDORMODEL_H
25 #define GENERICAVC_VENDORMODEL_H
26
27 #include <string>
28 #include <vector>
29
30 namespace GenericAVC {
31
32 // struct to define the supported devices
33 struct VendorModelEntry {
34     VendorModelEntry();
35     VendorModelEntry(const VendorModelEntry& rhs);
36     VendorModelEntry& operator = (const VendorModelEntry& rhs);
37     bool operator == (const VendorModelEntry& rhs) const;
38     virtual ~VendorModelEntry();
39
40     unsigned int vendor_id;
41     unsigned int model_id;
42     std::string vendor_name;
43     std::string model_name;
44 };
45
46 typedef std::vector<VendorModelEntry> VendorModelEntryVector;
47
48 class VendorModel {
49 public:
50     VendorModel( const char* filename );
51     virtual ~VendorModel();
52
53     virtual bool parse();
54     virtual bool printTable() const;
55     virtual bool handleAdditionalEntries(VendorModelEntry& vme,
56                                          std::vector<std::string>& v,
57                                          std::vector<std::string>::const_iterator& b,
58                                          std::vector<std::string>::const_iterator& e );
59     VendorModelEntry find( unsigned int vendor_id,  unsigned model_id );
60     bool isPresent( unsigned int vendor_id,  unsigned model_id );
61     static bool isValid( const VendorModelEntry& vme );
62
63     const VendorModelEntryVector& getVendorModelEntries() const;
64 private:
65     std::string m_filename;
66     VendorModelEntryVector m_vendorModelEntries;
67
68 };
69
70 }
71
72 #endif
Note: See TracBrowser for help on using the browser.