| // Copyright 2024 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ATTESTATION_PCA_AGENT_SERVER_METRICS_H_ |
| #define ATTESTATION_PCA_AGENT_SERVER_METRICS_H_ |
| |
| #include <metrics/metrics_library.h> |
| |
| namespace attestation { |
| namespace pca_agent { |
| |
| // The status of fetching the certificate XML files from the server. |
| enum class CertificateFetchResult { |
| kSuccess = 0, |
| // Failed to fetch the certificate files from server. If needed, we'll break |
| // this into more buckets in the future. |
| kFailed = 1, |
| kMaxValue = kFailed, |
| }; |
| |
| class Metrics : private MetricsLibrary { |
| public: |
| Metrics() = default; |
| Metrics(const Metrics&) = delete; |
| Metrics& operator=(const Metrics&) = delete; |
| |
| ~Metrics() = default; |
| |
| void ReportCertificateFetchResult(CertificateFetchResult result); |
| |
| private: |
| MetricsLibraryInterface* metrics_library_{this}; |
| }; |
| |
| } // namespace pca_agent |
| } // namespace attestation |
| |
| #endif // ATTESTATION_PCA_AGENT_SERVER_METRICS_H_ |