| // Copyright (c) 2016 The Chromium Embedded Framework 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 "libcef/browser/x509_cert_principal_impl.h" |
| |
| namespace { |
| |
| void TransferVector(const std::vector<std::string>& source, |
| std::vector<CefString>& target) { |
| if (!target.empty()) |
| target.clear(); |
| |
| if (!source.empty()) { |
| std::vector<std::string>::const_iterator it = source.begin(); |
| for (; it != source.end(); ++it) |
| target.push_back(*it); |
| } |
| } |
| |
| } // namespace |
| |
| CefX509CertPrincipalImpl::CefX509CertPrincipalImpl( |
| const net::CertPrincipal& value) |
| : value_(value) {} |
| |
| CefString CefX509CertPrincipalImpl::GetDisplayName() { |
| return value_.GetDisplayName(); |
| } |
| |
| CefString CefX509CertPrincipalImpl::GetCommonName() { |
| return value_.common_name; |
| } |
| |
| CefString CefX509CertPrincipalImpl::GetLocalityName() { |
| return value_.locality_name; |
| } |
| |
| CefString CefX509CertPrincipalImpl::GetStateOrProvinceName() { |
| return value_.state_or_province_name; |
| } |
| |
| CefString CefX509CertPrincipalImpl::GetCountryName() { |
| return value_.country_name; |
| } |
| |
| void CefX509CertPrincipalImpl::GetStreetAddresses( |
| std::vector<CefString>& addresses) { |
| TransferVector(value_.street_addresses, addresses); |
| } |
| |
| void CefX509CertPrincipalImpl::GetOrganizationNames( |
| std::vector<CefString>& names) { |
| TransferVector(value_.organization_names, names); |
| } |
| |
| void CefX509CertPrincipalImpl::GetOrganizationUnitNames( |
| std::vector<CefString>& names) { |
| TransferVector(value_.organization_unit_names, names); |
| } |
| |
| void CefX509CertPrincipalImpl::GetDomainComponents( |
| std::vector<CefString>& components) { |
| TransferVector(value_.domain_components, components); |
| } |