2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __DOTNET_LAUNCHER_H__
18 #define __DOTNET_LAUNCHER_H__
21 #include "coreclr_host.h"
22 #include "plugin_manager.h"
26 namespace dotnetcore {
31 CoreRuntime(const char* mode);
33 int preinitialize(bool standalone);
34 int initialize(bool standalone);
36 int launch(const char* appId, const char* root, const char* path, int argc, char* argv[]);
40 bool initializeCoreClr(const char* appId, const char* assemblyProbePaths, const char* NIProbePaths, const char* pinvokeProbePaths, const char* tpaList);
42 coreclr_initialize_ptr initializeClr;
43 coreclr_execute_assembly_ptr executeAssembly;
44 coreclr_shutdown_ptr shutdown;
45 coreclr_create_delegate_ptr createDelegate;
46 set_environment_variable_ptr setEnvironmentVariable;
47 std::string __nativeLibDirectory;
50 unsigned int __domainId;
53 bool __enableLogManager;
58 } // namespace runtime
61 #endif /* __DOTNET_LAUNCHER_H__ */