]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilSystemLinux.h
Update LLDB snapshot to upstream r241361
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / tools / lldb-mi / MIUtilSystemLinux.h
1 //===-- CMIUtilSystemLinux.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 #pragma once
11
12 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__linux__)
13
14 // In-house headers:
15 #include "MIUtilString.h"
16
17 //++ ============================================================================
18 // Details: MI common code utility class. Used to set or retrieve information
19 //          about the current system or user.
20 //          *** If you change, remove or add functionality it must be replicated
21 //          *** for the all platforms supported; Windows, OSX, LINUX
22 // Gotchas: None.
23 // Authors: Illya Rudkin 29/01/2014.
24 // Changes: None.
25 //--
26 class CMIUtilSystemLinux
27 {
28     // Methods:
29   public:
30     /* ctor */ CMIUtilSystemLinux(void);
31
32     bool GetOSErrorMsg(const MIint vError, CMIUtilString &vrwErrorMsg) const;
33     CMIUtilString GetOSLastError(void) const;
34     bool GetExecutablesPath(CMIUtilString &vrwFileNamePath) const;
35     bool GetLogFilesPath(CMIUtilString &vrwFileNamePath) const;
36
37     // Overrideable:
38   public:
39     // From CMICmnBase
40     /* dtor */ virtual ~CMIUtilSystemLinux(void);
41 };
42
43 typedef CMIUtilSystemLinux CMIUtilSystem;
44
45 #endif // #if defined( __linux__ )