// 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 OOBE_CONFIG_LOAD_OOBE_CONFIG_INTERFACE_H_
#define OOBE_CONFIG_LOAD_OOBE_CONFIG_INTERFACE_H_

#include <string>

#include <base/macros.h>

namespace oobe_config {

class LoadOobeConfigInterface {
 public:
  LoadOobeConfigInterface() = default;
  virtual ~LoadOobeConfigInterface() = default;

  // Populates |config| with the oobe config file in json format. Additionally
  // populates the |enrollment_domain| if exist any. On error it returns false
  // otherwise it returns true.
  virtual bool GetOobeConfigJson(std::string* config,
                                 std::string* enrollment_domain) = 0;

 private:
  DISALLOW_COPY_AND_ASSIGN(LoadOobeConfigInterface);
};

}  // namespace oobe_config

#endif  // OOBE_CONFIG_LOAD_OOBE_CONFIG_INTERFACE_H_
