// 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); }