From 9f9c9e27de834598bc76fb48e43edb3259d2d986 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 30 Aug 2020 15:46:31 +1000 Subject: [PATCH] Move runtime out to package --- app.go | 8 +++++++- runtime.go | 32 -------------------------------- runtime/runtime.go | 29 +++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 33 deletions(-) delete mode 100644 runtime.go create mode 100644 runtime/runtime.go diff --git a/app.go b/app.go index 7048e04f1..e55916149 100644 --- a/app.go +++ b/app.go @@ -13,6 +13,7 @@ import ( "github.com/wailsapp/wails/lib/ipc" "github.com/wailsapp/wails/lib/logger" "github.com/wailsapp/wails/lib/renderer" + wailsruntime "github.com/wailsapp/wails/runtime" ) // -------------------------------- Compile time Flags ------------------------------ @@ -20,6 +21,11 @@ import ( // BuildMode indicates what mode we are in var BuildMode = cmd.BuildModeProd +type Runtime = wailsruntime.Runtime +type Store = wailsruntime.Store + +type CustomLogger = logger.CustomLogger + // ---------------------------------------------------------------------------------- // App defines the main application struct @@ -125,7 +131,7 @@ func (a *App) start() error { a.ipc.Start(a.eventManager, a.bindingManager) // Create the runtime - a.runtime = NewRuntime(a.eventManager, a.renderer) + a.runtime = wailsruntime.NewRuntime(a.eventManager, a.renderer) // Start binding manager and give it our renderer err = a.bindingManager.Start(a.renderer, a.runtime) diff --git a/runtime.go b/runtime.go deleted file mode 100644 index 6cb7eaf0a..000000000 --- a/runtime.go +++ /dev/null @@ -1,32 +0,0 @@ -package wails - -import ( - "github.com/wailsapp/wails/lib/interfaces" - "github.com/wailsapp/wails/lib/logger" - "github.com/wailsapp/wails/runtime" -) - -// CustomLogger type alias -type CustomLogger = logger.CustomLogger - -// Runtime is the Wails Runtime Interface, given to a user who has defined the WailsInit method -type Runtime struct { - Events *runtime.Events - Log *runtime.Log - Dialog *runtime.Dialog - Window *runtime.Window - Browser *runtime.Browser - FileSystem *runtime.FileSystem -} - -// NewRuntime creates a new Runtime struct -func NewRuntime(eventManager interfaces.EventManager, renderer interfaces.Renderer) *Runtime { - return &Runtime{ - Events: runtime.NewEvents(eventManager), - Log: runtime.NewLog(), - Dialog: runtime.NewDialog(renderer), - Window: runtime.NewWindow(renderer), - Browser: runtime.NewBrowser(), - FileSystem: runtime.NewFileSystem(), - } -} diff --git a/runtime/runtime.go b/runtime/runtime.go new file mode 100644 index 000000000..7097de7a1 --- /dev/null +++ b/runtime/runtime.go @@ -0,0 +1,29 @@ +package runtime + +import "github.com/wailsapp/wails/lib/interfaces" + +// Runtime is the Wails Runtime Interface, given to a user who has defined the WailsInit method +type Runtime struct { + Events *Events + Log *Log + Dialog *Dialog + Window *Window + Browser *Browser + FileSystem *FileSystem + Store *StoreProvider +} + +// NewRuntime creates a new Runtime struct +func NewRuntime(eventManager interfaces.EventManager, renderer interfaces.Renderer) *Runtime { + result := &Runtime{ + Events: NewEvents(eventManager), + Log: NewLog(), + Dialog: NewDialog(renderer), + Window: NewWindow(renderer), + Browser: NewBrowser(), + FileSystem: NewFileSystem(), + } + // We need a reference to itself + result.Store = NewStoreProvider(result) + return result +}