1 //===-- MICmnBase.h ---------------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 #include "MIDataTypes.h"
13 #include "MIUtilString.h"
19 //============================================================================
20 // Details: MI common code implementation base class.
25 /* ctor */ CMICmnBase();
27 bool HaveErrorDescription() const;
28 const CMIUtilString &GetErrorDescription() const;
29 void SetErrorDescription(const CMIUtilString &vrTxt) const;
30 void SetErrorDescriptionn(const char *vFormat, ...) const;
31 void SetErrorDescriptionNoLog(const CMIUtilString &vrTxt) const;
32 void ClrErrorDescription() const;
36 /* dtor */ virtual ~CMICmnBase();
40 mutable CMIUtilString m_strMILastErrorDescription;
41 bool m_bInitialized; // True = yes successfully initialized, false = no yet or
43 CMICmnLog *m_pLog; // Allow all derived classes to use the logger
44 MIint m_clientUsageRefCnt; // Count of client using *this object so not
45 // shutdown() object to early