56d43362d965b419c96964e11520a3391f8d530e
[mono.git] / mono / metadata / console-win32-uwp.c
1 /*
2  * console-win32-uwp.c: UWP console support for Mono.
3  *
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
10 #if G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT)
11 #include <Windows.h>
12 #include "mono/metadata/console-win32-internals.h"
13
14 MonoBoolean
15 ves_icall_System_ConsoleDriver_Isatty (HANDLE handle)
16 {
17         MonoError mono_error;
18         mono_error_init (&mono_error);
19
20         g_unsupported_api ("Console");
21
22         mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "Console");
23         mono_error_set_pending_exception (&mono_error);
24
25         SetLastError (ERROR_NOT_SUPPORTED);
26
27         return FALSE;
28 }
29
30 MonoBoolean
31 ves_icall_System_ConsoleDriver_SetEcho (MonoBoolean want_echo)
32 {
33         MonoError mono_error;
34         mono_error_init (&mono_error);
35
36         g_unsupported_api ("Console");
37
38         mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "Console");
39         mono_error_set_pending_exception (&mono_error);
40
41         SetLastError (ERROR_NOT_SUPPORTED);
42
43         return FALSE;
44 }
45
46 MonoBoolean
47 ves_icall_System_ConsoleDriver_SetBreak (MonoBoolean want_break)
48 {
49         MonoError mono_error;
50         mono_error_init (&mono_error);
51
52         g_unsupported_api ("Console");
53
54         mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "Console");
55         mono_error_set_pending_exception (&mono_error);
56
57         SetLastError (ERROR_NOT_SUPPORTED);
58
59         return FALSE;
60 }
61
62 gint32
63 ves_icall_System_ConsoleDriver_InternalKeyAvailable (gint32 timeout)
64 {
65         MonoError mono_error;
66         mono_error_init (&mono_error);
67
68         g_unsupported_api ("Console");
69
70         mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "Console");
71         mono_error_set_pending_exception (&mono_error);
72
73         SetLastError (ERROR_NOT_SUPPORTED);
74
75         return FALSE;
76 }
77
78 MonoBoolean
79 ves_icall_System_ConsoleDriver_TtySetup (MonoString *keypad, MonoString *teardown, MonoArray **control_chars, int **size)
80 {
81         MonoError mono_error;
82         mono_error_init (&mono_error);
83
84         g_unsupported_api ("Console");
85
86         mono_error_set_not_supported (&mono_error, G_UNSUPPORTED_API, "Console");
87         mono_error_set_pending_exception (&mono_error);
88
89         SetLastError (ERROR_NOT_SUPPORTED);
90
91         return FALSE;
92 }
93
94 #else /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */
95
96 #ifdef _MSC_VER
97 // Quiet Visual Studio linker warning, LNK4221, in cases when this source file intentional ends up empty.
98 void __mono_win32_console_windows_uwp_quiet_lnk4221(void) {}
99 #endif
100 #endif /* G_HAVE_API_SUPPORT(HAVE_UWP_WINAPI_SUPPORT) */