// Copyright 2018 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef DIAGNOSTICS_DPSL_INTERNAL_DPSL_GLOBAL_CONTEXT_IMPL_H_
#define DIAGNOSTICS_DPSL_INTERNAL_DPSL_GLOBAL_CONTEXT_IMPL_H_

#include <base/macros.h>
#include <base/threading/thread_checker_impl.h>

#include "diagnostics/dpsl/public/dpsl_global_context.h"

namespace diagnostics {

// Real implementation of the DpslGlobalContext interface.
//
// Currently only does the logging configuration on construction.
class DpslGlobalContextImpl final : public DpslGlobalContext {
 public:
  // Cleans global counter which prevents from calling
  // |DpslGlobalContext::Create()| more than once per process.
  static void CleanGlobalCounterForTesting();

  DpslGlobalContextImpl();
  DpslGlobalContextImpl(const DpslGlobalContextImpl&) = delete;
  DpslGlobalContextImpl& operator=(const DpslGlobalContextImpl&) = delete;

  ~DpslGlobalContextImpl() override;

 private:
  base::ThreadCheckerImpl thread_checker_;
};

}  // namespace diagnostics

#endif  // DIAGNOSTICS_DPSL_INTERNAL_DPSL_GLOBAL_CONTEXT_IMPL_H_
