From 1cbf318e8a1d626a29ac189ded37773eb0e92343 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Mon, 30 Nov 2020 19:25:17 -0800 Subject: [PATCH] expose ACN.GetVersion over app bus --- app/app.go | 6 ++++++ app/appClient.go | 7 +++++++ app/appService.go | 3 +++ event/common.go | 6 +++++- go.mod | 2 +- go.sum | 4 ++++ 6 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/app.go b/app/app.go index 7c5fd76..6b7af04 100644 --- a/app/app.go +++ b/app/app.go @@ -52,6 +52,7 @@ type Application interface { GetPrimaryBus() event.Manager GetEventBus(onion string) event.Manager QueryACNStatus() + QueryACNVersion() ShutdownPeer(string) Shutdown() @@ -260,6 +261,11 @@ func (app *application) QueryACNStatus() { app.getACNStatusHandler()(prog, status) } +func (app *application) QueryACNVersion() { + version := app.acn.GetVersion() + app.appBus.Publish(event.NewEventList(event.ACNVersion, event.Data, version)) +} + // ShutdownPeer shuts down a peer and removes it from the app's management func (app *application) ShutdownPeer(onion string) { app.appmutex.Lock() diff --git a/app/appClient.go b/app/appClient.go index 2330951..b883942 100644 --- a/app/appClient.go +++ b/app/appClient.go @@ -56,6 +56,8 @@ func (ac *applicationClient) handleEvent(ev *event.Event) { ac.appBus.Publish(*ev) case event.ACNStatus: ac.appBus.Publish(*ev) + case event.ACNVersion: + ac.appBus.Publish(*ev) case event.ReloadDone: ac.appBus.Publish(*ev) } @@ -147,6 +149,11 @@ func (ac *applicationClient) QueryACNStatus() { ac.bridge.Write(&message) } +func (ac *applicationClient) QueryACNVersion() { + message := event.IPCMessage{Dest: DestApp, Message: event.NewEvent(event.GetACNVersion, map[event.Field]string{})} + ac.bridge.Write(&message) +} + // ShutdownPeer shuts down a peer and removes it from the app's management func (ac *applicationClient) ShutdownPeer(onion string) { ac.acmutex.Lock() diff --git a/app/appService.go b/app/appService.go index 1a25e8f..cb9be96 100644 --- a/app/appService.go +++ b/app/appService.go @@ -85,6 +85,9 @@ func (as *applicationService) handleEvent(ev *event.Event) { case event.GetACNStatus: prog, status := as.acn.GetBootstrapStatus() as.getACNStatusHandler()(prog, status) + case event.GetACNVersion: + version := as.acn.GetVersion() + as.bridge.Write(&event.IPCMessage{Dest: DestApp, Message: event.NewEventList(event.ACNVersion, event.Data, version)}) case event.ShutdownPeer: onion := ev.Data[event.Identity] as.ShutdownPeer(onion) diff --git a/event/common.go b/event/common.go index ba445f9..e67d484 100644 --- a/event/common.go +++ b/event/common.go @@ -189,11 +189,15 @@ const ( // Error(err) AppError = Type("AppError") - GetACNStatus = Type("GetACNStatus") + GetACNStatus = Type("GetACNStatus") + GetACNVersion = Type("GetACNVersion") // Progress, Status ACNStatus = Type("ACNStatus") + // Data + ACNVersion = Type("ACNVersion") + // Network Status // Status: Success || Error // Error: Description of the Error diff --git a/go.mod b/go.mod index 2ecebca..5c08208 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.14 require ( cwtch.im/tapir v0.2.1 - git.openprivacy.ca/openprivacy/connectivity v1.3.0 + git.openprivacy.ca/openprivacy/connectivity v1.3.3 git.openprivacy.ca/openprivacy/log v1.0.1 github.com/gtank/ristretto255 v0.1.2 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect diff --git a/go.sum b/go.sum index 01d833a..4a6d206 100644 --- a/go.sum +++ b/go.sum @@ -4,10 +4,14 @@ cwtch.im/tapir v0.2.1 h1:t1YJB9q5sV1A9xwiiwL6WVfw3dwQWLoecunuzT1PQtw= cwtch.im/tapir v0.2.1/go.mod h1:xzzZ28adyUXNkYL1YodcHsAiTt3IJ8Loc29YVn9mIEQ= git.openprivacy.ca/openprivacy/bine v0.0.3 h1:PSHUmNqaW7BZUX8n2eTDeNbjsuRe+t5Ae0Og+P+jDM0= git.openprivacy.ca/openprivacy/bine v0.0.3/go.mod h1:13ZqhKyqakDsN/ZkQkIGNULsmLyqtXc46XBcnuXm/mU= +git.openprivacy.ca/openprivacy/bine v0.0.4 h1:CO7EkGyz+jegZ4ap8g5NWRuDHA/56KKvGySR6OBPW+c= +git.openprivacy.ca/openprivacy/bine v0.0.4/go.mod h1:13ZqhKyqakDsN/ZkQkIGNULsmLyqtXc46XBcnuXm/mU= git.openprivacy.ca/openprivacy/connectivity v1.2.0 h1:dbZ5CRl11vg3BNHdzRKSlDP8OUtDB+mf6FkxMVf73qw= git.openprivacy.ca/openprivacy/connectivity v1.2.0/go.mod h1:B7vzuVmChJtSKoh0ezph5vu6DQ0gIk0zHUNG6IgXCcA= git.openprivacy.ca/openprivacy/connectivity v1.3.0 h1:e2EeV6CaMNwOb+PzAjF0hGCeOqAPagRaDL4en5ITf7U= git.openprivacy.ca/openprivacy/connectivity v1.3.0/go.mod h1:s0/QhONuUqJQfYTAgUlu+ya7G3Ov6bKgpT5QkOhVxDI= +git.openprivacy.ca/openprivacy/connectivity v1.3.3 h1:OKHZ/pzY95+UNOhF74DisSYPh7lULtjbxFQnK9r6cAk= +git.openprivacy.ca/openprivacy/connectivity v1.3.3/go.mod h1:DL9QitHjpyNspMUe3wjIej9gFgDK2FdRKP2JE4+7T90= git.openprivacy.ca/openprivacy/log v1.0.0 h1:Rvqm1weUdR4AOnJ79b1upHCc9vC/QF1rhSD2Um7sr1Y= git.openprivacy.ca/openprivacy/log v1.0.0/go.mod h1:gGYK8xHtndRLDymFtmjkG26GaMQNgyhioNS82m812Iw= git.openprivacy.ca/openprivacy/log v1.0.1 h1:NWV5oBTatvlSzUE6wtB+UQCulgyMOtm4BXGd34evMys=