1 //===-- MICmnBase.h ---------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
13 #include "MIDataTypes.h"
14 #include "MIUtilString.h"
19 //++ ============================================================================
20 // Details: MI common code implementation base class.
22 // Authors: Illya Rudkin 28/01/2014.
29 /* ctor */ CMICmnBase(void);
31 bool HaveErrorDescription(void) const;
32 const CMIUtilString &GetErrorDescription(void) const;
33 void SetErrorDescription(const CMIUtilString &vrTxt) const;
34 void SetErrorDescriptionn(const CMIUtilString vFormat, ...) const;
35 void SetErrorDescriptionNoLog(const CMIUtilString &vrTxt) const;
36 void ClrErrorDescription(void) const;
40 /* dtor */ virtual ~CMICmnBase(void);
44 mutable CMIUtilString m_strMILastErrorDescription;
45 bool m_bInitialized; // True = yes successfully initialized, false = no yet or failed
46 CMICmnLog *m_pLog; // Allow all derived classes to use the logger
47 MIint m_clientUsageRefCnt; // Count of client using *this object so not shutdown() object to early