// 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/basictypes.h>

class CommandLine;

namespace mist {

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

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

 private:
  DISALLOW_COPY_AND_ASSIGN(Mist);
};

}  // namespace mist

#endif  // MIST_MIST_H_
