first commit
This commit is contained in:
9
src/core/debugger/gryphn_debugger.cpp
Normal file
9
src/core/debugger/gryphn_debugger.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "gryphn_debugger.h"
|
||||
|
||||
void gnAddDebugLayer(gnDebugger& debugger, const gnString& layer) {
|
||||
gnListAdd(debugger.debug_layers, layer);
|
||||
}
|
||||
|
||||
const gnList<gnString>& gnDebuggerGetDebugLayers(gnDebugger& debugger) {
|
||||
return debugger.debug_layers;
|
||||
}
|
28
src/core/debugger/gryphn_debugger.h
Normal file
28
src/core/debugger/gryphn_debugger.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
#include <gryphn/gryphn_utils.h>
|
||||
#include <iostream>
|
||||
#include "gryphn_layers.h"
|
||||
|
||||
struct gnPlatformDebugger;
|
||||
struct gnDebugger;
|
||||
|
||||
static gnDebugger* gnDebuggerInstance = nullptr;
|
||||
inline void gnDebugError(gnString error);
|
||||
|
||||
struct gnDebugger {
|
||||
ACCESS_LEVEL:
|
||||
gnPlatformDebugger* debugger;
|
||||
gnList<gnString> debug_layers = gnCreateList<gnString>();
|
||||
public:
|
||||
gnDebugger() {
|
||||
if (debugger) gnDebugError("Debugger instance already created (you can only have one debugger)");
|
||||
gnDebuggerInstance = this;
|
||||
}
|
||||
};
|
||||
|
||||
inline void gnDebugError(gnString error) { std::cout << gnToCString(error) << "\n"; }
|
||||
void gnAddDebugLayer(gnDebugger& debugger, const gnString& layer);
|
||||
const gnList<gnString>& gnDebuggerGetDebugLayers(gnDebugger& debugger);
|
||||
|
||||
inline gnReturnCode (*gnCreateDebugger)(gnDebugger* instance);
|
||||
inline void (*gnDestroyDebugger)(gnDebugger& instance);
|
6
src/core/debugger/gryphn_layers.h
Normal file
6
src/core/debugger/gryphn_layers.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
#include <gryphn/gryphn_utils.h>
|
||||
|
||||
inline gnString (*gnGetPlatformLayerName)(const gnString& gnName);
|
||||
|
||||
#define GN_DEFAULT_DEBUG_LAYER gnGetPlatformLayerName("GN_DEFAULT_DEBUG_LAYER")
|
Reference in New Issue
Block a user