Merge pull request #3936 from kumpera/monoclass_reorg2
[mono-project.git] / mono / metadata / icall-windows-uwp.c
blobf43e22f5d39ff47fc302bcafec9d7d9be1c04c1b
1 /*
2 * icall-windows-uwp.c: UWP icall support for Mono.
4 * Copyright 2016 Microsoft
5 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
6 */
7 #include <config.h>
8 #include <glib.h>
9 #include "mono/utils/mono-compiler.h"
11 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
12 #include <windows.h>
13 #include "mono/metadata/icall-windows-internals.h"
15 MonoString *
16 mono_icall_get_machine_name (void)
18 g_unsupported_api ("GetComputerName");
19 return mono_string_new (mono_domain_get (), "mono");
22 MonoString *
23 mono_icall_get_windows_folder_path (int folder)
25 g_unsupported_api ("SHGetFolderPath");
26 return mono_string_new (mono_domain_get (), "");
29 MonoArray *
30 mono_icall_get_logical_drives (void)
32 MonoError mono_error;
33 mono_error_init (&mono_error);
35 g_unsupported_api ("GetLogicalDriveStrings");
37 mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "GetLogicalDriveStrings");
38 mono_error_set_pending_exception (&mono_error);
40 SetLastError (ERROR_NOT_SUPPORTED);
42 return NULL;
45 void
46 mono_icall_broadcast_setting_change (void)
48 MonoError mono_error;
49 mono_error_init (&mono_error);
51 g_unsupported_api ("SendMessageTimeout");
53 mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "SendMessageTimeout");
54 mono_error_set_pending_exception (&mono_error);
56 SetLastError (ERROR_NOT_SUPPORTED);
58 return;
61 guint32
62 mono_icall_drive_info_get_drive_type (MonoString *root_path_name)
64 MonoError mono_error;
65 mono_error_init (&mono_error);
67 g_unsupported_api ("GetDriveType");
69 mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "GetDriveType");
70 mono_error_set_pending_exception (&mono_error);
72 return DRIVE_UNKNOWN;
75 gint32
76 mono_icall_wait_for_input_idle (gpointer handle, gint32 milliseconds)
78 MonoError mono_error;
79 mono_error_init (&mono_error);
81 g_unsupported_api ("WaitForInputIdle");
83 mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "WaitForInputIdle");
84 mono_error_set_pending_exception (&mono_error);
86 return WAIT_TIMEOUT;
89 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
91 MONO_EMPTY_SOURCE_FILE (icall_windows_uwp);
92 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */