analytics: 3p NC: Defines interface EventLogger for Analytics logger.

- this is the init cl.

doc: go/nc-analytics-api
PiperOrigin-RevId: 391901111
This commit is contained in:
edwinwu
2021-08-19 20:03:15 -07:00
committed by Copybara-Service
parent 7a82740e2b
commit c73504e68d
2 changed files with 52 additions and 0 deletions
+11
View File
@@ -28,6 +28,7 @@ cc_library(
],
deps = [
":core_types",
":event_logger",
"//absl/strings",
"//absl/time",
"//absl/types:span",
@@ -66,6 +67,16 @@ cc_library(
],
)
cc_library(
name = "event_logger",
hdrs = [
"event_logger.h",
],
deps = [
"//logs/proto/location/nearby:nearby_client_log_cc_proto",
],
)
cc_test(
name = "core_test",
size = "small",
+41
View File
@@ -0,0 +1,41 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef CORE_EVENT_LOGGER_H_
#define CORE_EVENT_LOGGER_H_
#include "logs/proto/location/nearby/nearby_client_log.proto.h"
namespace location {
namespace nearby {
namespace connections {
namespace analytics {
// Allows callers to log |ConnectionsLog| collected at Nearby Connections
// library. Callers need to implement the API if they want to collect this log.
class EventLogger {
public:
virtual ~EventLogger() = default;
// Logs |ConnectionsLog| details. Might block to do I/O, e.g. upload
// synchronously to some metrics server.
virtual void Log(const logs::ConnectionsLog& connections_log) = 0;
};
} // namespace analytics
} // namespace connections
} // namespace nearby
} // namespace location
#endif // CORE_EVENT_LOGGER_H_