From 1b91592ed316ceebbb89929c1722362b94addeae Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 28 Nov 2017 10:15:17 -0600 Subject: [PATCH] Nim: fixup defines for constructible C++ objects Ref #91 --- include/nim/genode.nim | 11 +++++------ include/nim/nitpickerclient.nim | 3 --- include/nim/reportclient.nim | 3 --- include/nim/romclient.nim | 3 --- 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/include/nim/genode.nim b/include/nim/genode.nim index 4b28dc0..14ee83e 100644 --- a/include/nim/genode.nim +++ b/include/nim/genode.nim @@ -24,12 +24,11 @@ type RpcEffect* = object of RootEffect type Constructible* {. importcpp: "Genode::Constructible", header: "", final, pure.} [T] = object -template defineConstructible*(Final, Base: untyped) = - type Final* = Constructible[Base] - proc construct*(obj: Final) {.importcpp: "#.construct()".} - proc construct*(obj: ref Final) {.importcpp: "(*#).construct()".} - proc destruct*(obj: Final) {.importcpp: "#.destruct()".} - proc destruct*(obj: ref Final) {.importcpp: "(*#).destruct()".} +proc construct*[T](x: Constructible[T]) {.importcpp.} + ## Construct a constructible C++ object. + +proc destruct*[T](x: Constructible[T]) {.importcpp.} + ## Destruct a constructible C++ object. # # Signals diff --git a/include/nim/nitpickerclient.nim b/include/nim/nitpickerclient.nim index ac691c9..737d997 100644 --- a/include/nim/nitpickerclient.nim +++ b/include/nim/nitpickerclient.nim @@ -27,9 +27,6 @@ type proc construct(conn: Connection; label: cstring) {. importcpp: "#.construct(#)".} -proc destruct(conn: Connection) {. - importcpp: "#.destruct()".} - proc newNitpickerClient*(label = ""): NitpickerClient = new result construct result.conn, label diff --git a/include/nim/reportclient.nim b/include/nim/reportclient.nim index 2871a7c..20c3cea 100644 --- a/include/nim/reportclient.nim +++ b/include/nim/reportclient.nim @@ -28,9 +28,6 @@ type proc construct(c: Connection, label: cstring, bufferSize: csize) {. importcpp: "#.construct(*genodeEnv, @)", tags: [RpcEffect].} -proc destruct(c: Connection) {.tags: [RpcEffect], - importcpp: "#.destruct()".} - proc dataspace(c: Connection): DataspaceCapability {.tags: [RpcEffect], importcpp: "#->dataspace()".} diff --git a/include/nim/romclient.nim b/include/nim/romclient.nim index 78eba2f..aedf34d 100644 --- a/include/nim/romclient.nim +++ b/include/nim/romclient.nim @@ -29,9 +29,6 @@ type proc construct(c: Connection, label: cstring) {. importcpp: "#.construct(*genodeEnv, @)", tags: [RpcEffect].} -proc destruct(c: Connection) {.tags: [RpcEffect], - importcpp: "#.destruct()".} - proc dataspace(c: Connection): DataspaceCapability {.tags: [RpcEffect], importcpp: "#->dataspace()".} ## Return the current dataspace capability from the ROM server.