Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 1 addition & 19 deletions application.go
Original file line number Diff line number Diff line change
Expand Up @@ -233,32 +233,14 @@ func (a *Application) Run() error {
}()
a.window.SetUserPointer(unsafe.Pointer(&flutterEnginePointer))

// Init the engine
result := a.engine.Init(unsafe.Pointer(&flutterEnginePointer), a.config.vmArguments)
if result != embedder.ResultSuccess {
switch result {
case embedder.ResultInvalidLibraryVersion:
fmt.Printf("go-flutter: engine.Init() returned result code %d (invalid library version)\n", result)
case embedder.ResultInvalidArguments:
fmt.Printf("go-flutter: engine.Init() returned result code %d (invalid arguments)\n", result)
case embedder.ResultInternalInconsistency:
fmt.Printf("go-flutter: engine.Init() returned result code %d (internal inconsistency)\n", result)
default:
fmt.Printf("go-flutter: engine.Init() returned result code %d (unknown result code)\n", result)
}
os.Exit(1)
}

// Start the engine
result = a.engine.Run()
result := a.engine.Run(unsafe.Pointer(&flutterEnginePointer), a.config.vmArguments)
if result != embedder.ResultSuccess {
switch result {
case embedder.ResultInvalidLibraryVersion:
fmt.Printf("go-flutter: engine.Run() returned result code %d (invalid library version)\n", result)
case embedder.ResultInvalidArguments:
fmt.Printf("go-flutter: engine.Run() returned result code %d (invalid arguments)\n", result)
case embedder.ResultInternalInconsistency:
fmt.Printf("go-flutter: engine.Run() returned result code %d (internal inconsistency)\n", result)
default:
fmt.Printf("go-flutter: engine.Run() returned result code %d (unknown result code)\n", result)
}
Expand Down
20 changes: 4 additions & 16 deletions embedder/embedder.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package embedder

// #include "embedder.h"
// FlutterEngineResult initEngine(void *user_data, FlutterEngine *engine, FlutterProjectArgs * Args,
// FlutterEngineResult runFlutter(void *user_data, FlutterEngine *engine, FlutterProjectArgs * Args,
// const char *const * vmArgs, int nVmAgrs);
// FlutterEngineResult
// createMessageResponseHandle(FlutterEngine engine, void *user_data,
Expand All @@ -28,7 +28,6 @@ const (
ResultSuccess Result = C.kSuccess
ResultInvalidLibraryVersion Result = C.kInvalidLibraryVersion
ResultInvalidArguments Result = C.kInvalidArguments
ResultInternalInconsistency Result = C.kInternalInconsistency
ResultEngineNotRunning Result = -1
)

Expand Down Expand Up @@ -81,19 +80,8 @@ func NewFlutterEngine() *FlutterEngine {
return &FlutterEngine{}
}

// Runs an initialized engine in a background thread.
func (flu *FlutterEngine) Run() Result {
if flu.Engine == nil {
fmt.Printf("go-flutter: The engine must be ini")
return ResultInvalidArguments
}

res := C.FlutterEngineRunInitialized(flu.Engine)
return (Result)(res)
}

// Init the Flutter Engine.
func (flu *FlutterEngine) Init(userData unsafe.Pointer, vmArgs []string) Result {
// Run launches the Flutter Engine in a background thread.
func (flu *FlutterEngine) Run(userData unsafe.Pointer, vmArgs []string) Result {
args := C.FlutterProjectArgs{
assets_path: C.CString(flu.AssetsPath),
icu_data_path: C.CString(flu.IcuDataPath),
Expand All @@ -106,7 +94,7 @@ func (flu *FlutterEngine) Init(userData unsafe.Pointer, vmArgs []string) Result
C.setArrayString(cVMArgs, C.CString(s), C.int(i))
}

res := C.initEngine(userData, &flu.Engine, &args, cVMArgs, C.int(len(vmArgs)))
res := C.runFlutter(userData, &flu.Engine, &args, cVMArgs, C.int(len(vmArgs)))
if flu.Engine == nil {
return ResultInvalidArguments
}
Expand Down
Loading