Program Listing for File resource_detector.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/resource/resource_detector.h)
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <string>
#include "opentelemetry/sdk/resource/resource.h"
#include "opentelemetry/version.h"
OPENTELEMETRY_BEGIN_NAMESPACE
namespace sdk
{
namespace resource
{
class ResourceDetector
{
public:
ResourceDetector() = default;
ResourceDetector(const ResourceDetector &) = delete;
ResourceDetector(ResourceDetector &&) = delete;
ResourceDetector &operator=(const ResourceDetector &) = delete;
ResourceDetector &operator=(ResourceDetector &&) = delete;
virtual ~ResourceDetector() = default;
virtual Resource Detect() = 0;
protected:
static Resource Create(const ResourceAttributes &attributes,
const std::string &schema_url = std::string{});
};
class OTELResourceDetector : public ResourceDetector
{
public:
Resource Detect() noexcept override;
};
} // namespace resource
} // namespace sdk
OPENTELEMETRY_END_NAMESPACE