]> cygwin.com Git - cygwin-apps/setup.git/blob - msg.cc
Run libgcrypt self-tests
[cygwin-apps/setup.git] / msg.cc
1 /*
2 * Copyright (c) 2000, Red Hat, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * A copy of the GNU General Public License can be found at
10 * http://www.gnu.org/
11 *
12 * Written by DJ Delorie <dj@cygnus.com>
13 *
14 */
15
16 /* The purpose of this file is to centralize all the message
17 functions. */
18
19 #include "msg.h"
20
21 #include "LogFile.h"
22 #include "win32.h"
23
24 #include <stdio.h>
25 #include <stdarg.h>
26 #include "dialog.h"
27 #include "state.h"
28
29 int
30 mbox (HWND owner, const char *buf, const char *name, int type)
31 {
32 Log (LOG_PLAIN) << "mbox " << name << ": " << buf << endLog;
33 if (unattended_mode)
34 {
35 // Return some default values.
36 Log (LOG_PLAIN) << "unattended_mode is set at mbox: returning default value" << endLog;
37 switch (type & MB_TYPEMASK)
38 {
39 case MB_OK:
40 case MB_OKCANCEL:
41 return IDOK;
42 break;
43 case MB_YESNO:
44 case MB_YESNOCANCEL:
45 return IDYES;
46 break;
47 case MB_ABORTRETRYIGNORE:
48 return IDIGNORE;
49 break;
50 case MB_RETRYCANCEL:
51 return IDCANCEL;
52 break;
53 default:
54 Log (LOG_PLAIN) << "unattended_mode failed for " << (type & MB_TYPEMASK) << endLog;
55 return 0;
56 }
57 }
58 return MessageBox (owner, buf, "Cygwin Setup", type);
59 }
60
61 static int
62 mbox (HWND owner, const char *name, int type, int id, va_list args)
63 {
64 char buf[1000], fmt[1000];
65
66 if (LoadString (hinstance, id, fmt, sizeof (fmt)) <= 0)
67 ExitProcess (0);
68
69 vsnprintf (buf, 1000, fmt, args);
70 return mbox(owner, buf, name, type);
71 }
72
73 void
74 note (HWND owner, int id, ...)
75 {
76 va_list args;
77 va_start (args, id);
78 mbox (owner, "note", 0, id, args);
79 }
80
81 void
82 fatal (HWND owner, int id, ...)
83 {
84 va_list args;
85 va_start (args, id);
86 mbox (owner, "fatal", 0, id, args);
87 Logger ().exit (1);
88 }
89
90 int
91 yesno (HWND owner, int id, ...)
92 {
93 va_list args;
94 va_start (args, id);
95 return mbox (owner, "yesno", MB_YESNO, id, args);
96 }
This page took 0.037943 seconds and 5 git commands to generate.