mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-02-02 11:43:31 +00:00
4ddc12ce40
This allows for the same customization git-version.cpp allows. Also, improve messaging slightly during build if git is missing, and disallow reporting for builds generated without version info to make it clear to users.
74 lines
2.2 KiB
C++
74 lines
2.2 KiB
C++
// Copyright (c) 2012- PPSSPP Project.
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, version 2.0 or later versions.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
// Official git repository and contact information can be found at
|
|
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
|
|
|
|
#pragma once
|
|
|
|
#include "Core/Host.h"
|
|
#include "Core/Debugger/SymbolMap.h"
|
|
|
|
// TODO: Get rid of this junk
|
|
class HeadlessHost : public Host
|
|
{
|
|
public:
|
|
void UpdateUI() override {}
|
|
|
|
void UpdateMemView() override {}
|
|
void UpdateDisassembly() override {}
|
|
|
|
void SetDebugMode(bool mode) { }
|
|
|
|
bool InitGraphics(std::string *error_message) override {return false;}
|
|
void ShutdownGraphics() override {}
|
|
|
|
void InitSound() override {}
|
|
void UpdateSound() override {}
|
|
void ShutdownSound() override {}
|
|
|
|
// this is sent from EMU thread! Make sure that Host handles it properly
|
|
void BootDone() override {}
|
|
|
|
bool IsDebuggingEnabled() override { return false; }
|
|
bool AttemptLoadSymbolMap() override { symbolMap.Clear(); return false; }
|
|
|
|
bool ShouldSkipUI() override { return true; }
|
|
|
|
void SendDebugOutput(const std::string &output) override {
|
|
if (output.find('\n') != output.npos) {
|
|
DoFlushDebugOutput();
|
|
fwrite(output.data(), sizeof(char), output.length(), stdout);
|
|
} else {
|
|
debugOutputBuffer_ += output;
|
|
}
|
|
}
|
|
virtual void FlushDebugOutput() {
|
|
DoFlushDebugOutput();
|
|
}
|
|
inline void DoFlushDebugOutput() {
|
|
if (!debugOutputBuffer_.empty()) {
|
|
fwrite(debugOutputBuffer_.data(), sizeof(char), debugOutputBuffer_.length(), stdout);
|
|
debugOutputBuffer_.clear();
|
|
}
|
|
}
|
|
virtual void SetComparisonScreenshot(const std::string &filename) {}
|
|
|
|
|
|
// Unique for HeadlessHost
|
|
virtual void SwapBuffers() {}
|
|
|
|
protected:
|
|
std::string debugOutputBuffer_;
|
|
}; |