void ArgumentCoder<CertificateInfo>::encode(ArgumentEncoder& encoder, const CertificateInfo& certificateInfo) { if (!certificateInfo.certificate()) { encoder << false; return; } GByteArray* certificateData = 0; g_object_get(G_OBJECT(certificateInfo.certificate()), "certificate", &certificateData, NULL); if (!certificateData) { encoder << false; return; } encoder << true; GRefPtr<GByteArray> certificate = adoptGRef(certificateData); encoder.encodeVariableLengthByteArray(IPC::DataReference(certificate->data, certificate->len)); encoder << static_cast<uint32_t>(certificateInfo.tlsErrors()); }
void DataReference::encode(ArgumentEncoder& encoder) const { encoder.encodeVariableLengthByteArray(*this); }