mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2025-08-18 09:25:49 +00:00
Merge pull request #32 from irtimmer/customlog
Use application callback instead of standard error stream for logging
This commit is contained in:
commit
fdb256185a
@ -35,6 +35,7 @@ static void fakeClConnectionStarted(void) {}
|
|||||||
static void fakeClConnectionTerminated(long errorCode) {}
|
static void fakeClConnectionTerminated(long errorCode) {}
|
||||||
static void fakeClDisplayMessage(const char* message) {}
|
static void fakeClDisplayMessage(const char* message) {}
|
||||||
static void fakeClDisplayTransientMessage(const char* message) {}
|
static void fakeClDisplayTransientMessage(const char* message) {}
|
||||||
|
static void fakeClLogMessage(const char* format, ...) {}
|
||||||
|
|
||||||
static CONNECTION_LISTENER_CALLBACKS fakeClCallbacks = {
|
static CONNECTION_LISTENER_CALLBACKS fakeClCallbacks = {
|
||||||
.stageStarting = fakeClStageStarting,
|
.stageStarting = fakeClStageStarting,
|
||||||
@ -44,6 +45,7 @@ static CONNECTION_LISTENER_CALLBACKS fakeClCallbacks = {
|
|||||||
.connectionTerminated = fakeClConnectionTerminated,
|
.connectionTerminated = fakeClConnectionTerminated,
|
||||||
.displayMessage = fakeClDisplayMessage,
|
.displayMessage = fakeClDisplayMessage,
|
||||||
.displayTransientMessage = fakeClDisplayTransientMessage,
|
.displayTransientMessage = fakeClDisplayTransientMessage,
|
||||||
|
.logMessage = fakeClLogMessage,
|
||||||
};
|
};
|
||||||
|
|
||||||
void fixupMissingCallbacks(PDECODER_RENDERER_CALLBACKS* drCallbacks, PAUDIO_RENDERER_CALLBACKS* arCallbacks,
|
void fixupMissingCallbacks(PDECODER_RENDERER_CALLBACKS* drCallbacks, PAUDIO_RENDERER_CALLBACKS* arCallbacks,
|
||||||
@ -116,5 +118,8 @@ void fixupMissingCallbacks(PDECODER_RENDERER_CALLBACKS* drCallbacks, PAUDIO_REND
|
|||||||
if ((*clCallbacks)->displayTransientMessage == NULL) {
|
if ((*clCallbacks)->displayTransientMessage == NULL) {
|
||||||
(*clCallbacks)->displayTransientMessage = fakeClDisplayTransientMessage;
|
(*clCallbacks)->displayTransientMessage = fakeClDisplayTransientMessage;
|
||||||
}
|
}
|
||||||
|
if ((*clCallbacks)->logMessage == NULL) {
|
||||||
|
(*clCallbacks)->logMessage = fakeClLogMessage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,6 +232,9 @@ typedef void(*ConnListenerDisplayMessage)(const char* message);
|
|||||||
// while streaming
|
// while streaming
|
||||||
typedef void(*ConnListenerDisplayTransientMessage)(const char* message);
|
typedef void(*ConnListenerDisplayTransientMessage)(const char* message);
|
||||||
|
|
||||||
|
// This callback is invoked to log debug message
|
||||||
|
typedef void(*ConnListenerLogMessage)(const char* format, ...);
|
||||||
|
|
||||||
typedef struct _CONNECTION_LISTENER_CALLBACKS {
|
typedef struct _CONNECTION_LISTENER_CALLBACKS {
|
||||||
ConnListenerStageStarting stageStarting;
|
ConnListenerStageStarting stageStarting;
|
||||||
ConnListenerStageComplete stageComplete;
|
ConnListenerStageComplete stageComplete;
|
||||||
@ -240,6 +243,7 @@ typedef struct _CONNECTION_LISTENER_CALLBACKS {
|
|||||||
ConnListenerConnectionTerminated connectionTerminated;
|
ConnListenerConnectionTerminated connectionTerminated;
|
||||||
ConnListenerDisplayMessage displayMessage;
|
ConnListenerDisplayMessage displayMessage;
|
||||||
ConnListenerDisplayTransientMessage displayTransientMessage;
|
ConnListenerDisplayTransientMessage displayTransientMessage;
|
||||||
|
ConnListenerLogMessage logMessage;
|
||||||
} CONNECTION_LISTENER_CALLBACKS, *PCONNECTION_LISTENER_CALLBACKS;
|
} CONNECTION_LISTENER_CALLBACKS, *PCONNECTION_LISTENER_CALLBACKS;
|
||||||
|
|
||||||
// Use this function to zero the connection callbacks when allocated on the stack or heap
|
// Use this function to zero the connection callbacks when allocated on the stack or heap
|
||||||
|
@ -35,20 +35,8 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "Limelight.h"
|
#include "Limelight.h"
|
||||||
|
|
||||||
#if defined(LC_WINDOWS)
|
|
||||||
void LimelogWindows(char* Format, ...);
|
|
||||||
#define Limelog(s, ...) \
|
#define Limelog(s, ...) \
|
||||||
LimelogWindows(s, ##__VA_ARGS__)
|
ListenerCallbacks.logMessage(s, ##__VA_ARGS__)
|
||||||
#elif defined(__vita__)
|
|
||||||
#define Limelog sceClibPrintf
|
|
||||||
#elif defined(LC_ANDROID)
|
|
||||||
#include <android/log.h>
|
|
||||||
#define Limelog(s, ...) \
|
|
||||||
__android_log_print(ANDROID_LOG_INFO, "moonlight-common-c", s, ##__VA_ARGS__)
|
|
||||||
#else
|
|
||||||
#define Limelog(s, ...) \
|
|
||||||
fprintf(stderr, s, ##__VA_ARGS__)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(LC_WINDOWS)
|
#if defined(LC_WINDOWS)
|
||||||
#include <crtdbg.h>
|
#include <crtdbg.h>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user