5 typedef int (*coreclr_initialize_ptr)(
7 const char* appDomainFriendlyName,
9 const char** propertyKeys,
10 const char** propertyValues,
12 unsigned int* domainId);
14 typedef int (*coreclr_execute_assembly_ptr)(
16 unsigned int domainId,
19 const char* managedAssemblyPath,
20 unsigned int* exitCode);
22 typedef int (*coreclr_shutdown_ptr)(
24 unsigned int domainId);
26 typedef int (*coreclr_create_delegate_ptr)(
28 unsigned int domainId,
29 const char* entryPointAssemblyName,
30 const char* entryPointTypeName,
31 const char* entryPointMethodName,
37 namespace dotnetcore {
39 typedef void (*PreparedFunctionPtr)();
40 typedef bool (*LaunchFunctionPtr)(const char* root, const char* path, int argc, char* argv[]);
42 class CoreRuntime : public tizen::runtime::LauncherInterface
47 int Initialize(bool standalone) override;
48 void Dispose() override;
49 int RunManagedLauncher() override;
50 int Launch(const char* root, const char* path, int argc, char* argv[]) override;
53 bool InitializeCoreClr(const char* assembly_probe_paths, const char* pinvoke_probe_paths);
54 coreclr_initialize_ptr InitializeClr;
55 coreclr_execute_assembly_ptr ExecuteAssembly;
56 coreclr_shutdown_ptr Shutdown;
57 coreclr_create_delegate_ptr CreateDelegate;
58 std::string DeviceAPIDirectory;
59 std::string RuntimeDirectory;
60 std::string LauncherAssembly;
63 unsigned int domainId;
64 PreparedFunctionPtr PreparedFunction;
65 LaunchFunctionPtr LaunchFunction;
69 } // namespace runtime