Program Listing for File event_logger_provider.h

Return to documentation for file (/tmp/B.puc0r6hi/BUILD/opentelemetry-cpp-1.27.0-build/opentelemetry-cpp-1.27.0/api/include/opentelemetry/logs/event_logger_provider.h)

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

#pragma once

#include "opentelemetry/nostd/shared_ptr.h"
#include "opentelemetry/nostd/string_view.h"
#include "opentelemetry/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace logs
{

class EventLogger;
class Logger;

#if OPENTELEMETRY_ABI_VERSION_NO < 2

class EventLoggerProvider
{
public:
  EventLoggerProvider()                                           = default;
  EventLoggerProvider(const EventLoggerProvider &)                = default;
  EventLoggerProvider(EventLoggerProvider &&) noexcept            = default;
  EventLoggerProvider &operator=(const EventLoggerProvider &)     = default;
  EventLoggerProvider &operator=(EventLoggerProvider &&) noexcept = default;
  virtual ~EventLoggerProvider()                                  = default;

  virtual nostd::shared_ptr<EventLogger> CreateEventLogger(
      nostd::shared_ptr<Logger> delegate_logger,
      nostd::string_view event_domain) noexcept = 0;
};
#endif
}  // namespace logs
OPENTELEMETRY_END_NAMESPACE