text: // Copyright (c) 2010 Satoshi Nakamoto
  // Copyright (c) 2009-2014 The Bitcoin Core developers
  // Copyright (c) 2014-2017 The Dash Core developers
  // Copyright (c) 2018-2018 The Essence Core developers
  // Distributed under the MIT software license, see the accompanying
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
  
  #include "noui.h"
  
  #include "ui_interface.h"
  #include "util.h"
  
  #include <cstdio>
  #include <stdint.h>
  #include <string>
  
  static bool noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, unsigned int style)
  {
      bool fSecure = style & CClientUIInterface::SECURE;
      style &= ~CClientUIInterface::SECURE;
  
      std::string strCaption;
      // Check for usage of predefined caption
      switch (style) {
      case CClientUIInterface::MSG_ERROR:
          strCaption += _("Error");
          break;
      case CClientUIInterface::MSG_WARNING:
          strCaption += _("Warning");
          break;
      case CClientUIInterface::MSG_INFORMATION:
          strCaption += _("Information");
          break;
      default:
          strCaption += caption; // Use supplied caption (can be empty)
      }
  
      if (!fSecure)
          LogPrintf("%s: %s\n", strCaption, message);
      fprintf(stderr, "%s: %s\n", strCaption.c_str(), message.c_str());
      return false;
  }
  
  static void noui_InitMessage(const std::string& message)
  {
      LogPrintf("init message: %s\n", message);
  }
  
  void noui_connect()
  {
      // Connect essenced signal handlers
      uiInterface.ThreadSafeMessageBox.connect(noui_ThreadSafeMessageBox);
      uiInterface.InitMessage.connect(noui_InitMessage);
  }
  