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 // Overview: CMICmnBase interface.
15 // Environment: Compilers: Visual C++ 12.
16 // gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17 // Libraries: See MIReadmetxt.
25 #include "MIDataTypes.h"
26 #include "MIUtilString.h"
31 //++ ============================================================================
32 // Details: MI common code implementation base class.
34 // Authors: Illya Rudkin 28/01/2014.
41 /* ctor */ CMICmnBase( void );
43 bool HaveErrorDescription( void ) const;
44 const CMIUtilString & GetErrorDescription( void ) const;
45 void SetErrorDescription( const CMIUtilString & vrTxt ) const;
46 void SetErrorDescriptionn( const CMIUtilString & vrFormat, ... ) const;
47 void SetErrorDescriptionNoLog( const CMIUtilString & vrTxt ) const;
48 void ClrErrorDescription( void ) const;
52 /* dtor */ virtual ~CMICmnBase( void );
56 mutable CMIUtilString m_strMILastErrorDescription;
57 bool m_bInitialized; // True = yes successfully initialized, false = no yet or failed
58 CMICmnLog * m_pLog; // Allow all derived classes to use the logger
59 MIint m_clientUsageRefCnt; // Count of client using *this object so not shutdown() object to early