1285101Semaste//===-- SystemInitializer.h -------------------------------------*- C++ -*-===//
2285101Semaste//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6285101Semaste//
7285101Semaste//===----------------------------------------------------------------------===//
8285101Semaste
9285101Semaste#ifndef LLDB_INITIALIZATION_SYSTEM_INITIALIZER_H
10285101Semaste#define LLDB_INITIALIZATION_SYSTEM_INITIALIZER_H
11285101Semaste
12344779Sdim#include "llvm/Support/Error.h"
13344779Sdim
14344779Sdim#include <string>
15344779Sdim
16314564Sdimnamespace lldb_private {
17344779Sdim
18314564Sdimclass SystemInitializer {
19314564Sdimpublic:
20314564Sdim  SystemInitializer();
21314564Sdim  virtual ~SystemInitializer();
22285101Semaste
23353358Sdim  virtual llvm::Error Initialize() = 0;
24314564Sdim  virtual void Terminate() = 0;
25285101Semaste};
26285101Semaste}
27285101Semaste
28285101Semaste#endif
29