1 // Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights 2 // reserved. Use of this source code is governed by a BSD-style license that 3 // can be found in the LICENSE file. 4 // 5 // --------------------------------------------------------------------------- 6 // 7 // This file was generated by the CEF translator tool. If making changes by 8 // hand only do so within the body of existing method and function 9 // implementations. See the translator.README.txt file in the tools directory 10 // for more information. 11 // 12 // $hash=cac3e88ea15965e3a7786500606845b0b6157212$ 13 // 14 15 #include "libcef_dll/cpptoc/x509certificate_cpptoc.h" 16 #include <algorithm> 17 #include "libcef_dll/cpptoc/binary_value_cpptoc.h" 18 #include "libcef_dll/cpptoc/x509cert_principal_cpptoc.h" 19 #include "libcef_dll/shutdown_checker.h" 20 21 namespace { 22 23 // MEMBER FUNCTIONS - Body may be edited by hand. 24 25 cef_x509cert_principal_t* CEF_CALLBACK x509certificate_get_subject(struct _cef_x509certificate_t * self)26 x509certificate_get_subject(struct _cef_x509certificate_t* self) { 27 shutdown_checker::AssertNotShutdown(); 28 29 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 30 31 DCHECK(self); 32 if (!self) 33 return NULL; 34 35 // Execute 36 CefRefPtr<CefX509CertPrincipal> _retval = 37 CefX509CertificateCppToC::Get(self)->GetSubject(); 38 39 // Return type: refptr_same 40 return CefX509CertPrincipalCppToC::Wrap(_retval); 41 } 42 43 cef_x509cert_principal_t* CEF_CALLBACK x509certificate_get_issuer(struct _cef_x509certificate_t * self)44 x509certificate_get_issuer(struct _cef_x509certificate_t* self) { 45 shutdown_checker::AssertNotShutdown(); 46 47 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 48 49 DCHECK(self); 50 if (!self) 51 return NULL; 52 53 // Execute 54 CefRefPtr<CefX509CertPrincipal> _retval = 55 CefX509CertificateCppToC::Get(self)->GetIssuer(); 56 57 // Return type: refptr_same 58 return CefX509CertPrincipalCppToC::Wrap(_retval); 59 } 60 61 cef_binary_value_t* CEF_CALLBACK x509certificate_get_serial_number(struct _cef_x509certificate_t * self)62 x509certificate_get_serial_number(struct _cef_x509certificate_t* self) { 63 shutdown_checker::AssertNotShutdown(); 64 65 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 66 67 DCHECK(self); 68 if (!self) 69 return NULL; 70 71 // Execute 72 CefRefPtr<CefBinaryValue> _retval = 73 CefX509CertificateCppToC::Get(self)->GetSerialNumber(); 74 75 // Return type: refptr_same 76 return CefBinaryValueCppToC::Wrap(_retval); 77 } 78 79 cef_time_t CEF_CALLBACK x509certificate_get_valid_start(struct _cef_x509certificate_t * self)80 x509certificate_get_valid_start(struct _cef_x509certificate_t* self) { 81 shutdown_checker::AssertNotShutdown(); 82 83 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 84 85 DCHECK(self); 86 if (!self) 87 return CefTime(); 88 89 // Execute 90 cef_time_t _retval = CefX509CertificateCppToC::Get(self)->GetValidStart(); 91 92 // Return type: simple 93 return _retval; 94 } 95 96 cef_time_t CEF_CALLBACK x509certificate_get_valid_expiry(struct _cef_x509certificate_t * self)97 x509certificate_get_valid_expiry(struct _cef_x509certificate_t* self) { 98 shutdown_checker::AssertNotShutdown(); 99 100 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 101 102 DCHECK(self); 103 if (!self) 104 return CefTime(); 105 106 // Execute 107 cef_time_t _retval = CefX509CertificateCppToC::Get(self)->GetValidExpiry(); 108 109 // Return type: simple 110 return _retval; 111 } 112 113 cef_binary_value_t* CEF_CALLBACK x509certificate_get_derencoded(struct _cef_x509certificate_t * self)114 x509certificate_get_derencoded(struct _cef_x509certificate_t* self) { 115 shutdown_checker::AssertNotShutdown(); 116 117 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 118 119 DCHECK(self); 120 if (!self) 121 return NULL; 122 123 // Execute 124 CefRefPtr<CefBinaryValue> _retval = 125 CefX509CertificateCppToC::Get(self)->GetDEREncoded(); 126 127 // Return type: refptr_same 128 return CefBinaryValueCppToC::Wrap(_retval); 129 } 130 131 cef_binary_value_t* CEF_CALLBACK x509certificate_get_pemencoded(struct _cef_x509certificate_t * self)132 x509certificate_get_pemencoded(struct _cef_x509certificate_t* self) { 133 shutdown_checker::AssertNotShutdown(); 134 135 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 136 137 DCHECK(self); 138 if (!self) 139 return NULL; 140 141 // Execute 142 CefRefPtr<CefBinaryValue> _retval = 143 CefX509CertificateCppToC::Get(self)->GetPEMEncoded(); 144 145 // Return type: refptr_same 146 return CefBinaryValueCppToC::Wrap(_retval); 147 } 148 149 size_t CEF_CALLBACK x509certificate_get_issuer_chain_size(struct _cef_x509certificate_t * self)150 x509certificate_get_issuer_chain_size(struct _cef_x509certificate_t* self) { 151 shutdown_checker::AssertNotShutdown(); 152 153 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 154 155 DCHECK(self); 156 if (!self) 157 return 0; 158 159 // Execute 160 size_t _retval = CefX509CertificateCppToC::Get(self)->GetIssuerChainSize(); 161 162 // Return type: simple 163 return _retval; 164 } 165 166 void CEF_CALLBACK x509certificate_get_derencoded_issuer_chain(struct _cef_x509certificate_t * self,size_t * chainCount,cef_binary_value_t ** chain)167 x509certificate_get_derencoded_issuer_chain(struct _cef_x509certificate_t* self, 168 size_t* chainCount, 169 cef_binary_value_t** chain) { 170 shutdown_checker::AssertNotShutdown(); 171 172 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 173 174 DCHECK(self); 175 if (!self) 176 return; 177 // Verify param: chain; type: refptr_vec_same_byref 178 DCHECK(chainCount && (*chainCount == 0 || chain)); 179 if (!chainCount || (*chainCount > 0 && !chain)) 180 return; 181 182 // Translate param: chain; type: refptr_vec_same_byref 183 std::vector<CefRefPtr<CefBinaryValue>> chainList; 184 if (chainCount && *chainCount > 0 && chain) { 185 for (size_t i = 0; i < *chainCount; ++i) { 186 chainList.push_back(CefBinaryValueCppToC::Unwrap(chain[i])); 187 } 188 } 189 190 // Execute 191 CefX509CertificateCppToC::Get(self)->GetDEREncodedIssuerChain(chainList); 192 193 // Restore param: chain; type: refptr_vec_same_byref 194 if (chainCount && chain) { 195 *chainCount = std::min(chainList.size(), *chainCount); 196 if (*chainCount > 0) { 197 for (size_t i = 0; i < *chainCount; ++i) { 198 chain[i] = CefBinaryValueCppToC::Wrap(chainList[i]); 199 } 200 } 201 } 202 } 203 204 void CEF_CALLBACK x509certificate_get_pemencoded_issuer_chain(struct _cef_x509certificate_t * self,size_t * chainCount,cef_binary_value_t ** chain)205 x509certificate_get_pemencoded_issuer_chain(struct _cef_x509certificate_t* self, 206 size_t* chainCount, 207 cef_binary_value_t** chain) { 208 shutdown_checker::AssertNotShutdown(); 209 210 // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING 211 212 DCHECK(self); 213 if (!self) 214 return; 215 // Verify param: chain; type: refptr_vec_same_byref 216 DCHECK(chainCount && (*chainCount == 0 || chain)); 217 if (!chainCount || (*chainCount > 0 && !chain)) 218 return; 219 220 // Translate param: chain; type: refptr_vec_same_byref 221 std::vector<CefRefPtr<CefBinaryValue>> chainList; 222 if (chainCount && *chainCount > 0 && chain) { 223 for (size_t i = 0; i < *chainCount; ++i) { 224 chainList.push_back(CefBinaryValueCppToC::Unwrap(chain[i])); 225 } 226 } 227 228 // Execute 229 CefX509CertificateCppToC::Get(self)->GetPEMEncodedIssuerChain(chainList); 230 231 // Restore param: chain; type: refptr_vec_same_byref 232 if (chainCount && chain) { 233 *chainCount = std::min(chainList.size(), *chainCount); 234 if (*chainCount > 0) { 235 for (size_t i = 0; i < *chainCount; ++i) { 236 chain[i] = CefBinaryValueCppToC::Wrap(chainList[i]); 237 } 238 } 239 } 240 } 241 242 } // namespace 243 244 // CONSTRUCTOR - Do not edit by hand. 245 CefX509CertificateCppToC()246 CefX509CertificateCppToC::CefX509CertificateCppToC() { 247 GetStruct()->get_subject = x509certificate_get_subject; 248 GetStruct()->get_issuer = x509certificate_get_issuer; 249 GetStruct()->get_serial_number = x509certificate_get_serial_number; 250 GetStruct()->get_valid_start = x509certificate_get_valid_start; 251 GetStruct()->get_valid_expiry = x509certificate_get_valid_expiry; 252 GetStruct()->get_derencoded = x509certificate_get_derencoded; 253 GetStruct()->get_pemencoded = x509certificate_get_pemencoded; 254 GetStruct()->get_issuer_chain_size = x509certificate_get_issuer_chain_size; 255 GetStruct()->get_derencoded_issuer_chain = 256 x509certificate_get_derencoded_issuer_chain; 257 GetStruct()->get_pemencoded_issuer_chain = 258 x509certificate_get_pemencoded_issuer_chain; 259 } 260 261 // DESTRUCTOR - Do not edit by hand. 262 ~CefX509CertificateCppToC()263 CefX509CertificateCppToC::~CefX509CertificateCppToC() { 264 shutdown_checker::AssertNotShutdown(); 265 } 266 267 template <> 268 CefRefPtr<CefX509Certificate> CefCppToCRefCounted< 269 CefX509CertificateCppToC, 270 CefX509Certificate, UnwrapDerived(CefWrapperType type,cef_x509certificate_t * s)271 cef_x509certificate_t>::UnwrapDerived(CefWrapperType type, 272 cef_x509certificate_t* s) { 273 NOTREACHED() << "Unexpected class type: " << type; 274 return nullptr; 275 } 276 277 template <> 278 CefWrapperType CefCppToCRefCounted<CefX509CertificateCppToC, 279 CefX509Certificate, 280 cef_x509certificate_t>::kWrapperType = 281 WT_X509CERTIFICATE; 282