/**************************************************************************** * * * Project64 - A Nintendo 64 emulator. * * http://www.pj64-emu.com/ * * Copyright (C) 2012 Project64. All rights reserved. * * * * License: * * GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * * * ****************************************************************************/ #include #include #include #include #include #include "NotificationClass.h" #include "JavaBridge.h" #if defined(ANDROID) #include extern JavaBridge * g_JavaBridge; #endif CNotificationImp & Notify(void) { static CNotificationImp g_Notify; return g_Notify; } CNotificationImp::CNotificationImp() : m_NextMsg(0) { } CNotificationImp::~CNotificationImp() { } void CNotificationImp::DisplayError(const char * Message) const { #ifdef ANDROID g_JavaBridge->DisplayError(Message); #endif } void CNotificationImp::DisplayError(LanguageStringID StringID) const { if (g_Lang) { DisplayError(g_Lang->GetString(StringID).c_str()); } } void CNotificationImp::FatalError(LanguageStringID StringID) const { if (g_Lang) { FatalError(g_Lang->GetString(StringID).c_str()); } } void CNotificationImp::FatalError(const char * Message) const { WriteTrace(TraceUserInterface, TraceError, Message); DisplayError(Message); if (g_BaseSystem) { g_BaseSystem->CloseCpu(); } } void CNotificationImp::DisplayMessage(int DisplayTime, LanguageStringID StringID) const { DisplayMessage(DisplayTime, g_Lang->GetString(StringID).c_str()); } //User Feedback void CNotificationImp::DisplayMessage(int DisplayTime, const char * Message) const { #ifdef ANDROID __android_log_print(ANDROID_LOG_VERBOSE, "PJ64-Bridge", "%s", Message); if (g_JavaBridge == NULL) { return; } /*if (m_NextMsg > 0 || DisplayTime > 0) { time_t Now = time(NULL); if (DisplayTime == 0 && Now < m_NextMsg) { return; } if (DisplayTime > 0) { m_NextMsg = Now + DisplayTime; } if (m_NextMsg == 0) { m_NextMsg = 0; } }*/ g_JavaBridge->DisplayMessage(Message); #else // ignore warning usage DisplayTime = DisplayTime; Message = Message; #endif } void CNotificationImp::DisplayMessage2(const char * /*Message*/) const { } // Ask a Yes/No Question to the user, yes = true, no = false bool CNotificationImp::AskYesNoQuestion(const char * /*Question*/) const { return false; } void CNotificationImp::BreakPoint(const char * FileName, int32_t LineNumber) { if (g_Settings->LoadBool(Debugger_Enabled)) { FatalError(stdstr_f("Break point found at\n%s\nLine: %d", FileName, LineNumber).c_str()); } else { FatalError("Fatal Error: Emulation stopped"); } } void CNotificationImp::AppInitDone(void) { } bool CNotificationImp::ProcessGuiMessages(void) const { return false; } void CNotificationImp::ChangeFullScreen(void) const { }