diff --git a/dlangide-monod-linux.dproj b/dlangide-monod-linux.dproj index 1bfe180..23a6d04 100644 --- a/dlangide-monod-linux.dproj +++ b/dlangide-monod-linux.dproj @@ -190,5 +190,7 @@ + + \ No newline at end of file diff --git a/src/ddebug/common/debugger.d b/src/ddebug/common/debugger.d new file mode 100644 index 0000000..9c99a16 --- /dev/null +++ b/src/ddebug/common/debugger.d @@ -0,0 +1,27 @@ +module ddebug.common.debugger; + +import core.thread; +import dlangui.core.logger; + +interface Debugger { + /// start debugging + void startDebugging(string executable, string[] args, string workingDir); +} + +interface DebuggerCallback { +} + +class DebuggerBase : Thread { + private bool _stopRequested; + private bool _finished; + + this() { + super(&run); + } + + private void run() { + Log.i("Debugger thread started"); + Log.i("Debugger thread finished"); + _finished = true; + } +} diff --git a/src/ddebug/common/queue.d b/src/ddebug/common/queue.d new file mode 100644 index 0000000..bac99ec --- /dev/null +++ b/src/ddebug/common/queue.d @@ -0,0 +1,26 @@ +module ddebug.common.queue; + +import core.sync.condition; +import core.sync.mutex; + +class BlockingQueue(T) { + + private Mutex _mutex; + private Condition _condition; + + this() { + _mutex = new Mutex(); + _condition = new Condition(_mutex); + } + + ~this() { + // TODO: destroy mutex? + } + + void put(T item) { + } + + bool get(ref T value, int timeoutMillis) { + return false; + } +}