From c4a042cb1d04361ba5848bfc91b5453ca9e27eb8 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sat, 20 Apr 2019 12:13:55 +1000 Subject: [PATCH] Added Runtime.FileSystem --- runtime.go | 18 ++++++++++-------- runtime_filesystem.go | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 runtime_filesystem.go diff --git a/runtime.go b/runtime.go index ff5a522a..f23140eb 100644 --- a/runtime.go +++ b/runtime.go @@ -2,17 +2,19 @@ package wails // Runtime is the Wails Runtime Interface, given to a user who has defined the WailsInit method type Runtime struct { - Events *RuntimeEvents - Log *RuntimeLog - Dialog *RuntimeDialog - Window *RuntimeWindow + Events *RuntimeEvents + Log *RuntimeLog + Dialog *RuntimeDialog + Window *RuntimeWindow + FileSystem *RuntimeFileSystem } func newRuntime(eventManager *eventManager, renderer Renderer) *Runtime { return &Runtime{ - Events: newRuntimeEvents(eventManager), - Log: newRuntimeLog(), - Dialog: newRuntimeDialog(renderer), - Window: newRuntimeWindow(renderer), + Events: newRuntimeEvents(eventManager), + Log: newRuntimeLog(), + Dialog: newRuntimeDialog(renderer), + Window: newRuntimeWindow(renderer), + FileSystem: newRuntimeFileSystem(), } } diff --git a/runtime_filesystem.go b/runtime_filesystem.go new file mode 100644 index 00000000..f500dc3b --- /dev/null +++ b/runtime_filesystem.go @@ -0,0 +1,16 @@ +package wails + +import homedir "github.com/mitchellh/go-homedir" + +// RuntimeFileSystem exposes file system utilities to the runtime +type RuntimeFileSystem struct { +} + +func newRuntimeFileSystem() *RuntimeFileSystem { + return &RuntimeFileSystem{} +} + +// HomeDir returns the user's home directory +func (r *RuntimeFileSystem) HomeDir() (string, error) { + return homedir.Dir() +}