Merge pull request #42 from fingolfin/no-osystem-defaults

Remove default implementation of OSystem::logMessage
This commit is contained in:
Max Horn 2011-06-17 12:16:18 -07:00
commit 158c2252ab
11 changed files with 80 additions and 29 deletions

View file

@ -242,6 +242,18 @@ void OSystem_IPHONE::addSysArchivesToSearchSet(Common::SearchSet &s, int priorit
} }
} }
void OSystem_IPHONE::logMessage(LogMessageType::Type type, const char *message) {
FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
}
void iphone_main(int argc, char *argv[]) { void iphone_main(int argc, char *argv[]) {
//OSystem_IPHONE::migrateApp(); //OSystem_IPHONE::migrateApp();

View file

@ -180,6 +180,8 @@ public:
virtual Common::String getDefaultConfigFileName(); virtual Common::String getDefaultConfigFileName();
virtual void logMessage(LogMessageType::Type type, const char *message);
protected: protected:
void internUpdateScreen(); void internUpdateScreen();
void dirtyFullScreen(); void dirtyFullScreen();

View file

@ -199,6 +199,7 @@ public:
virtual Audio::Mixer *getMixer(); virtual Audio::Mixer *getMixer();
virtual void getTimeAndDate(TimeDate &t) const; virtual void getTimeAndDate(TimeDate &t) const;
virtual void setTimerCallback(TimerProc callback, int interval); virtual void setTimerCallback(TimerProc callback, int interval);
virtual void logMessage(LogMessageType::Type type, const char *message);
void rebuildOffscreenGameBuffer(void); void rebuildOffscreenGameBuffer(void);
void rebuildOffscreenMouseBuffer(void); void rebuildOffscreenMouseBuffer(void);

View file

@ -870,6 +870,18 @@ void OSystem_N64::getTimeAndDate(TimeDate &t) const {
return; return;
} }
void OSystem_N64::logMessage(LogMessageType::Type type, const char *message) {
FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
}
void OSystem_N64::setTimerCallback(TimerProc callback, int interval) { void OSystem_N64::setTimerCallback(TimerProc callback, int interval) {
assert (interval > 0); assert (interval > 0);

View file

@ -52,6 +52,8 @@ public:
virtual uint32 getMillis(); virtual uint32 getMillis();
virtual void delayMillis(uint msecs); virtual void delayMillis(uint msecs);
virtual void getTimeAndDate(TimeDate &t) const {} virtual void getTimeAndDate(TimeDate &t) const {}
virtual void logMessage(LogMessageType::Type type, const char *message);
}; };
OSystem_NULL::OSystem_NULL() { OSystem_NULL::OSystem_NULL() {
@ -97,6 +99,18 @@ uint32 OSystem_NULL::getMillis() {
void OSystem_NULL::delayMillis(uint msecs) { void OSystem_NULL::delayMillis(uint msecs) {
} }
void OSystem_NULL::logMessage(LogMessageType::Type type, const char *message) {
FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
}
OSystem *OSystem_NULL_create() { OSystem *OSystem_NULL_create() {
return new OSystem_NULL(); return new OSystem_NULL();
} }

View file

@ -20,8 +20,7 @@
* *
*/ */
// Allow use of stuff in <time.h> #define FORBIDDEN_SYMBOL_ALLOW_ALL
#define FORBIDDEN_SYMBOL_EXCEPTION_time_h
#include <pspuser.h> #include <pspuser.h>
#include <pspgu.h> #include <pspgu.h>
@ -422,7 +421,15 @@ void OSystem_PSP::quit() {
} }
void OSystem_PSP::logMessage(LogMessageType::Type type, const char *message) { void OSystem_PSP::logMessage(LogMessageType::Type type, const char *message) {
EventsBaseBackend::logMessage(type, message); FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
if (type == LogMessageType::kError) if (type == LogMessageType::kError)
PspDebugTrace(false, "%s", message); // write to file PspDebugTrace(false, "%s", message); // write to file

View file

@ -275,10 +275,22 @@ void OSystem_SDL::fatalError() {
void OSystem_SDL::logMessage(LogMessageType::Type type, const char *message) { void OSystem_SDL::logMessage(LogMessageType::Type type, const char *message) {
ModularBackend::logMessage(type, message); // First log to stdout/stderr
FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
// Then log into file (via the logger)
if (_logger) if (_logger)
_logger->print(message); _logger->print(message);
// Finally, some Windows / WinCE specific logging code.
#if defined( USE_WINDBG ) #if defined( USE_WINDBG )
#if defined( _WIN32_WCE ) #if defined( _WIN32_WCE )
TCHAR buf_unicode[1024]; TCHAR buf_unicode[1024];

View file

@ -19,11 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
// Allow use of stuff in <time.h> #define FORBIDDEN_SYMBOL_ALLOW_ALL
#define FORBIDDEN_SYMBOL_EXCEPTION_time_h
#define FORBIDDEN_SYMBOL_EXCEPTION_printf
#define FORBIDDEN_SYMBOL_EXCEPTION_getcwd
#include <unistd.h> #include <unistd.h>
@ -291,6 +287,18 @@ void OSystem_Wii::showOptionsDialog() {
_padAcceleration = 9 - ConfMan.getInt("wii_pad_acceleration"); _padAcceleration = 9 - ConfMan.getInt("wii_pad_acceleration");
} }
void OSystem_Wii::logMessage(LogMessageType::Type type, const char *message) {
FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
}
#ifndef GAMECUBE #ifndef GAMECUBE
Common::String OSystem_Wii::getSystemLanguage() const { Common::String OSystem_Wii::getSystemLanguage() const {
const char *wiiCountries[] = { const char *wiiCountries[] = {

View file

@ -211,6 +211,8 @@ public:
virtual FilesystemFactory *getFilesystemFactory(); virtual FilesystemFactory *getFilesystemFactory();
virtual void getTimeAndDate(TimeDate &t) const; virtual void getTimeAndDate(TimeDate &t) const;
virtual void logMessage(LogMessageType::Type type, const char *message);
#ifndef GAMECUBE #ifndef GAMECUBE
virtual Common::String getSystemLanguage() const; virtual Common::String getSystemLanguage() const;
#endif // GAMECUBE #endif // GAMECUBE

View file

@ -21,11 +21,6 @@
*/ */
#define FORBIDDEN_SYMBOL_EXCEPTION_exit #define FORBIDDEN_SYMBOL_EXCEPTION_exit
#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
#define FORBIDDEN_SYMBOL_EXCEPTION_fputs
#define FORBIDDEN_SYMBOL_EXCEPTION_fflush
#define FORBIDDEN_SYMBOL_EXCEPTION_stdout
#define FORBIDDEN_SYMBOL_EXCEPTION_stderr
#include "common/system.h" #include "common/system.h"
#include "common/events.h" #include "common/events.h"
@ -136,20 +131,6 @@ Common::String OSystem::getDefaultConfigFileName() {
return "scummvm.ini"; return "scummvm.ini";
} }
void OSystem::logMessage(LogMessageType::Type type, const char *message) {
#if !defined(__PLAYSTATION2__) && !defined(__DS__)
FILE *output = 0;
if (type == LogMessageType::kInfo || type == LogMessageType::kDebug)
output = stdout;
else
output = stderr;
fputs(message, output);
fflush(output);
#endif
}
Common::String OSystem::getSystemLanguage() const { Common::String OSystem::getSystemLanguage() const {
return "en_US"; return "en_US";
} }

View file

@ -1101,7 +1101,7 @@ public:
* @param type the type of the message * @param type the type of the message
* @param message the message itself * @param message the message itself
*/ */
virtual void logMessage(LogMessageType::Type type, const char *message); virtual void logMessage(LogMessageType::Type type, const char *message) = 0;
/** /**
* Open the log file in a way that allows the user to review it, * Open the log file in a way that allows the user to review it,