diff --git a/shared/api_flow.go b/shared/api_flow.go index 72338b3..94ff434 100644 --- a/shared/api_flow.go +++ b/shared/api_flow.go @@ -7,10 +7,8 @@ import "C" import ( "encoding/json" "errors" - "unsafe" "github.com/status-im/status-keycard-go/pkg/flow" - "github.com/status-im/status-keycard-go/signal" ) var ( @@ -92,16 +90,6 @@ func KeycardCancelFlow() *C.char { return retErr(err) } -//export Free -func Free(param unsafe.Pointer) { - C.free(param) -} - -//export KeycardSetSignalEventCallback -func KeycardSetSignalEventCallback(cb unsafe.Pointer) { - signal.KeycardSetSignalEventCallback(cb) -} - //export MockedLibRegisterKeycard func MockedLibRegisterKeycard(cardIndex C.int, readerState C.int, keycardState C.int, mockedKeycard *C.char, mockedKeycardHelper *C.char) *C.char { return retErr(notAvailable) diff --git a/shared/main.go b/shared/main.go index 4c1f0dc..d74bc1b 100644 --- a/shared/main.go +++ b/shared/main.go @@ -1,6 +1,15 @@ package main -import "errors" +// #cgo LDFLAGS: -shared +// #include +import "C" + +import ( + "errors" + "unsafe" + + "github.com/status-im/status-keycard-go/signal" +) func main() {} @@ -28,3 +37,19 @@ func checkAPIMutualExclusion(requestedAPI api) error { return nil } + +//export KeycardSetSignalEventCallback +func KeycardSetSignalEventCallback(cb unsafe.Pointer) { + signal.KeycardSetSignalEventCallback(cb) +} + +//export ResetAPI +func ResetAPI() { + globalFlow = nil + globalRPCServer = nil +} + +//export Free +func Free(param unsafe.Pointer) { + C.free(param) +}