Program Listing for File id_generator.h
↰ Return to documentation for file (/tmp/B.puc0r6hi/BUILD/opentelemetry-cpp-1.27.0-build/opentelemetry-cpp-1.27.0/sdk/include/opentelemetry/sdk/trace/id_generator.h)
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "opentelemetry/trace/span_id.h"
#include "opentelemetry/trace/trace_id.h"
#include "opentelemetry/version.h"
OPENTELEMETRY_BEGIN_NAMESPACE
namespace sdk
{
namespace trace
{
class IdGenerator
{
public:
IdGenerator(bool is_random) : is_random_(is_random) {}
IdGenerator(const IdGenerator &) = delete;
IdGenerator(IdGenerator &&) = delete;
IdGenerator &operator=(const IdGenerator &) = delete;
IdGenerator &operator=(IdGenerator &&) = delete;
virtual ~IdGenerator() = default;
virtual opentelemetry::trace::SpanId GenerateSpanId() noexcept = 0;
virtual opentelemetry::trace::TraceId GenerateTraceId() noexcept = 0;
bool IsRandom() const { return is_random_; }
private:
bool is_random_;
};
} // namespace trace
} // namespace sdk
OPENTELEMETRY_END_NAMESPACE