cast_event_builder_impl.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef CHROMECAST_METRICS_CAST_EVENT_BUILDER_IMPL_H_
  5. #define CHROMECAST_METRICS_CAST_EVENT_BUILDER_IMPL_H_
  6. #include <memory>
  7. #include <string>
  8. #include <vector>
  9. #include "chromecast/metrics/cast_event_builder.h"
  10. namespace chromecast {
  11. class CastEventBuilderImpl : public CastEventBuilder {
  12. public:
  13. CastEventBuilderImpl();
  14. CastEventBuilderImpl(const CastEventBuilderImpl&) = delete;
  15. CastEventBuilderImpl& operator=(const CastEventBuilderImpl&) = delete;
  16. ~CastEventBuilderImpl() override;
  17. // CastEventBuilder implementation
  18. std::string GetName() override;
  19. CastEventBuilder& SetName(const std::string& name) override;
  20. CastEventBuilder& SetTime(const base::TimeTicks& time) override;
  21. CastEventBuilder& SetTimezoneId(const std::string& timezone_id) override;
  22. CastEventBuilder& SetAppId(const std::string& app_id) override;
  23. CastEventBuilder& SetRemoteAppId(const std::string& remote_app_id) override;
  24. CastEventBuilder& SetSessionId(const std::string& session_id) override;
  25. CastEventBuilder& SetSdkVersion(const std::string& sdk_version) override;
  26. CastEventBuilder& SetMplVersion(const std::string& mpl_version) override;
  27. CastEventBuilder& SetConnectionInfo(
  28. const std::string& transport_connection_id,
  29. const std::string& virtual_connection_id) override;
  30. CastEventBuilder& SetGroupUuid(const std::string& group_uuid) override;
  31. CastEventBuilder& SetExtraValue(int64_t extra_value) override;
  32. CastEventBuilder& SetConversationKey(
  33. const std::string& conversation_key) override;
  34. CastEventBuilder& SetRequestId(int32_t request_id) override;
  35. CastEventBuilder& SetEventId(const std::string& event_id) override;
  36. CastEventBuilder& SetAoghRequestId(const std::string& request_id) override;
  37. CastEventBuilder& SetAoghLocalDeviceId(int64_t local_id) override;
  38. CastEventBuilder& SetAoghAgentId(const std::string& agent_id) override;
  39. CastEventBuilder& SetUiVersion(const std::string& ui_version) override;
  40. CastEventBuilder& SetAuditReport(const std::string& audit_report) override;
  41. CastEventBuilder& SetDuoCoreVersion(int64_t version) override;
  42. CastEventBuilder& SetHotwordModelId(const std::string& model_id) override;
  43. CastEventBuilder& SetDiscoveryAppSubtype(const std::string& app_id) override;
  44. CastEventBuilder& SetDiscoveryNamespaceSubtype(
  45. const std::string& namespace_hash) override;
  46. CastEventBuilder& SetDiscoverySender(
  47. const net::IPAddressBytes& sender_ip) override;
  48. CastEventBuilder& SetDiscoveryUnicastFlag(bool uses_unicast) override;
  49. CastEventBuilder& SetFeatureVector(
  50. const std::vector<float>& features) override;
  51. CastEventBuilder& AddMetadata(const std::string& name,
  52. int64_t value) override;
  53. CastEventBuilder& SetLaunchFrom(LaunchFrom launch_from) override;
  54. CastEventBuilder& MergeFrom(
  55. const ::metrics::CastLogsProto_CastEventProto* event_proto) override;
  56. ::metrics::CastLogsProto_CastEventProto* Build() override;
  57. private:
  58. std::unique_ptr<::metrics::CastLogsProto_CastEventProto> event_proto_;
  59. std::string unhashed_event_name_;
  60. };
  61. } // namespace chromecast
  62. #endif // CHROMECAST_METRICS_CAST_EVENT_BUILDER_IMPL_H_