| Index: samples/android_sample/jni/vm_glue.h
|
| ===================================================================
|
| --- samples/android_sample/jni/vm_glue.h (revision 0)
|
| +++ samples/android_sample/jni/vm_glue.h (revision 0)
|
| @@ -0,0 +1,46 @@
|
| +#ifndef VM_GLUE_H
|
| +#define VM_GLUE_H
|
| +
|
| +#include <android_native_app_glue.h>
|
| +#include "bin/dartutils.h"
|
| +#include "include/dart_api.h"
|
| +#include "jni/graphics.h"
|
| +
|
| +class VMGlue {
|
| + public:
|
| + explicit VMGlue(Graphics* graphics);
|
| +
|
| + int InitializeVM();
|
| + int StartMainIsolate();
|
| + int CallSetup();
|
| + int CallUpdate();
|
| + int OnMotionEvent(const char* function, int64_t when,
|
| + float move_x, float move_y);
|
| + int OnKeyEvent(const char* function, int64_t when, int32_t flags,
|
| + int32_t key_code, int32_t meta_state, int32_t repeat);
|
| + void FinishMainIsolate();
|
| +
|
| + private:
|
| + int Invoke(const char *function, int argc, Dart_Handle* args);
|
| +
|
| + static int ErrorExit(const char* format, ...);
|
| + static Dart_Handle SetupRuntimeOptions(CommandLineOptions* options,
|
| + const char* executable_name,
|
| + const char* script_name);
|
| + static bool CreateIsolateAndSetupHelper(const char* script_uri,
|
| + const char* main,
|
| + void* data,
|
| + char** error);
|
| + static bool CreateIsolateAndSetup(const char* script_uri,
|
| + const char* main,
|
| + void* data, char** error);
|
| + static void ShutdownIsolate(void* callback_data);
|
| +
|
| + Graphics* graphics_;
|
| + Dart_Isolate isolate_;
|
| + bool initialized_vm_;
|
| + bool initialized_script_;
|
| +};
|
| +
|
| +#endif
|
| +
|
|
|