1 //===-- SystemInitializer.h -------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLDB_INITIALIZATION_SYSTEM_INITIALIZER_H 11 #define LLDB_INITIALIZATION_SYSTEM_INITIALIZER_H 12 13 #include "llvm/Support/Error.h" 14 15 #include <string> 16 17 namespace lldb_private { 18 19 struct InitializerOptions { 20 bool reproducer_capture = false; 21 bool reproducer_replay = false; 22 std::string reproducer_path; 23 }; 24 25 class SystemInitializer { 26 public: 27 SystemInitializer(); 28 virtual ~SystemInitializer(); 29 30 virtual llvm::Error Initialize(const InitializerOptions &options) = 0; 31 virtual void Terminate() = 0; 32 }; 33 } 34 35 #endif 36