// Copyright (c) 2013 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 MIST_MIST_H_
#define MIST_MIST_H_

#include <base/macros.h>

namespace base {

class CommandLine;

}  // namespace base

namespace mist {

class Mist {
 public:
  Mist() = default;
  ~Mist() = default;

  // Runs mist with the given command line. Returns the exit code. The ownership
  // of |command_line| is not transferred.
  int Run(base::CommandLine* command_line);

 private:
  DISALLOW_COPY_AND_ASSIGN(Mist);
};

}  // namespace mist

#endif  // MIST_MIST_H_
