uuu
uuu (Universal Update Utility), mfgtools 3.0
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1
/*
2
* Copyright 2018 NXP.
3
*
4
* Redistribution and use in source and binary forms, with or without modification,
5
* are permitted provided that the following conditions are met:
6
*
7
* Redistributions of source code must retain the above copyright notice, this
8
* list of conditions and the following disclaimer.
9
*
10
* Redistributions in binary form must reproduce the above copyright notice, this
11
* list of conditions and the following disclaimer in the documentation and/or
12
* other materials provided with the distribution.
13
*
14
* Neither the name of the NXP Semiconductor nor the names of its
15
* contributors may be used to endorse or promote products derived from this
16
* software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
29
*
30
*/
31
32
#pragma once
33
34
#include <cstdint>
35
#include <string>
36
#include <vector>
37
38
class
ConfigItem
39
{
40
public
:
41
ConfigItem
() =
default
;
42
ConfigItem
(
const
char
*pro,
const
char
*chip,
const
char
*comp, uint16_t vid, uint16_t pid, uint16_t verLow = 0, uint16_t verUp = UINT16_MAX) :
43
m_pid
{pid},
m_vid
{vid},
m_bcdVerMin
{verLow},
m_bcdVerMax
{verUp}
44
{
45
if
(pro)
46
m_protocol
= pro;
47
if
(chip)
48
m_chip
= chip;
49
if
(comp)
50
m_compatible
= comp;
51
}
52
std::string
m_protocol
;
53
std::string
m_chip
;
54
std::string
m_compatible
;
55
uint16_t
m_pid
= 0;
56
uint16_t
m_vid
= 0;
57
uint16_t
m_bcdVerMin
= 0;
58
uint16_t
m_bcdVerMax
= UINT16_MAX;
59
};
60
61
class
Config
:
public
std::vector<ConfigItem>
62
{
63
public
:
64
Config
();
65
ConfigItem
*
find
(uint16_t vid, uint16_t pid, uint16_t ver);
66
Config
find
(
const
std::string &protocol);
67
};
68
69
Config
*
get_config
() noexcept;
ConfigItem
Definition
config.h:39
ConfigItem::m_vid
uint16_t m_vid
Definition
config.h:56
ConfigItem::m_pid
uint16_t m_pid
Definition
config.h:55
ConfigItem::m_compatible
std::string m_compatible
Definition
config.h:54
ConfigItem::m_protocol
std::string m_protocol
Definition
config.h:52
ConfigItem::m_chip
std::string m_chip
Definition
config.h:53
ConfigItem::ConfigItem
ConfigItem(const char *pro, const char *chip, const char *comp, uint16_t vid, uint16_t pid, uint16_t verLow=0, uint16_t verUp=UINT16_MAX)
Definition
config.h:42
ConfigItem::m_bcdVerMax
uint16_t m_bcdVerMax
Definition
config.h:58
ConfigItem::m_bcdVerMin
uint16_t m_bcdVerMin
Definition
config.h:57
ConfigItem::ConfigItem
ConfigItem()=default
Config
Definition
config.h:62
Config::find
ConfigItem * find(uint16_t vid, uint16_t pid, uint16_t ver)
Definition
config.cpp:111
Config::Config
Config()
Definition
config.cpp:46
get_config
Config * get_config() noexcept
Definition
config.cpp:106
libuuu
config.h
Generated by
1.13.2