blob: 272f15ad3255531392e5b5af1028b9849a00be35 [file] [log] [blame]
/*
* Copyright 2019 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "hal/usb/vendor_tag.h"
namespace cros {
// static
const VendorTagManager& VendorTagOps::GetVendorTagManager() {
static const auto manager = []() {
VendorTagManager m;
m.Add(kVendorTagVendorId, kVendorUsbSectionName, "vendorId", TYPE_BYTE);
m.Add(kVendorTagProductId, kVendorUsbSectionName, "productId", TYPE_BYTE);
m.Add(kVendorTagModelName, kVendorUsbSectionName, "modelName", TYPE_BYTE);
m.Add(kVendorTagDevicePath, kVendorUsbSectionName, "devicePath", TYPE_BYTE);
m.Add(kVendorTagTimestampSync, kVendorUsbSectionName, "timestampSync",
TYPE_INT32);
m.Add(kVendorTagControlBrightness, kVendorControlSectionName, "brightness",
TYPE_INT32);
m.Add(kVendorTagControlBrightnessRange, kVendorControlSectionName,
"brightnessRange", TYPE_INT32);
m.Add(kVendorTagControlBrightnessDefault, kVendorControlSectionName,
"brightnessDefault", TYPE_INT32);
m.Add(kVendorTagControlContrast, kVendorControlSectionName, "contrast",
TYPE_INT32);
m.Add(kVendorTagControlContrastRange, kVendorControlSectionName,
"contrastRange", TYPE_INT32);
m.Add(kVendorTagControlContrastDefault, kVendorControlSectionName,
"contrastDefault", TYPE_INT32);
m.Add(kVendorTagControlPan, kVendorControlSectionName, "pan", TYPE_INT32);
m.Add(kVendorTagControlPanRange, kVendorControlSectionName, "panRange",
TYPE_INT32);
m.Add(kVendorTagControlPanDefault, kVendorControlSectionName, "panDefault",
TYPE_INT32);
m.Add(kVendorTagControlSaturation, kVendorControlSectionName, "saturation",
TYPE_INT32);
m.Add(kVendorTagControlSaturationRange, kVendorControlSectionName,
"saturationRange", TYPE_INT32);
m.Add(kVendorTagControlSaturationDefault, kVendorControlSectionName,
"saturationDefault", TYPE_INT32);
m.Add(kVendorTagControlSharpness, kVendorControlSectionName, "sharpness",
TYPE_INT32);
m.Add(kVendorTagControlSharpnessRange, kVendorControlSectionName,
"sharpnessRange", TYPE_INT32);
m.Add(kVendorTagControlSharpnessDefault, kVendorControlSectionName,
"sharpnessDefault", TYPE_INT32);
m.Add(kVendorTagControlTilt, kVendorControlSectionName, "tilt", TYPE_INT32);
m.Add(kVendorTagControlTiltRange, kVendorControlSectionName, "tiltRange",
TYPE_INT32);
m.Add(kVendorTagControlTiltDefault, kVendorControlSectionName,
"tiltDefault", TYPE_INT32);
m.Add(kVendorTagControlZoom, kVendorControlSectionName, "zoom", TYPE_INT32);
m.Add(kVendorTagControlZoomRange, kVendorControlSectionName, "zoomRange",
TYPE_INT32);
m.Add(kVendorTagControlZoomDefault, kVendorControlSectionName,
"zoomDefault", TYPE_INT32);
return m;
}();
return manager;
}
// static
int VendorTagOps::GetTagCount(const vendor_tag_ops_t*) {
return GetVendorTagManager().GetTagCount();
}
// static
void VendorTagOps::GetAllTags(const vendor_tag_ops_t*, uint32_t* tag_array) {
GetVendorTagManager().GetAllTags(tag_array);
}
// static
const char* VendorTagOps::GetSectionName(const vendor_tag_ops_t*,
uint32_t tag) {
return GetVendorTagManager().GetSectionName(tag);
}
// static
const char* VendorTagOps::GetTagName(const vendor_tag_ops_t*, uint32_t tag) {
return GetVendorTagManager().GetTagName(tag);
}
// static
int VendorTagOps::GetTagType(const vendor_tag_ops_t*, uint32_t tag) {
return GetVendorTagManager().GetTagType(tag);
}
} // namespace cros