// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef NET_CERT_CT_SCT_TO_STRING_H_
#define NET_CERT_CT_SCT_TO_STRING_H_

#include <string>

#include "net/cert/sct_status_flags.h"
#include "net/cert/signed_certificate_timestamp.h"

namespace net {

// Functions for converting non-string attributes of
// net::ct::SignedCertificateTimestamp and net::ct::SCTVerifyStatus values to
// strings.
namespace ct {

// Returns a textual representation of |hash_algorithm|.
NET_EXPORT const std::string HashAlgorithmToString(
    DigitallySigned::HashAlgorithm hashAlgorithm);

// Returns a textual representation of |origin|.
NET_EXPORT const std::string OriginToString(
    SignedCertificateTimestamp::Origin origin);

// Returns a textual representation of |signatureAlgorithm|.
NET_EXPORT const std::string SignatureAlgorithmToString(
    DigitallySigned::SignatureAlgorithm signatureAlgorithm);

// Returns a textual representation of |status|.
NET_EXPORT const std::string StatusToString(SCTVerifyStatus status);

}  // namespace ct

}  // namespace net

#endif  // NET_CERT_CT_SCT_TO_STRING_H_
