]> cygwin.com Git - cygwin-apps/setup.git/blame - msg.cc
Support xz and lzma decompression via liblzma
[cygwin-apps/setup.git] / msg.cc
CommitLineData
23c9e63c
DD
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
b24c88b3
RC
19#if 0
20static const char *cvsid =
21 "\n%%% $Id$\n";
22#endif
8507f105 23
a77b6167
MB
24#include "msg.h"
25
26#include "LogSingleton.h"
23c9e63c 27#include "win32.h"
a77b6167 28
23c9e63c
DD
29#include <stdio.h>
30#include <stdarg.h>
31#include "dialog.h"
0407753c 32#include "state.h"
23c9e63c
DD
33
34void
b24c88b3 35msg (const char *fmt, ...)
23c9e63c 36{
08cd08c3 37 char buf[2000];
23c9e63c
DD
38 va_list args;
39 va_start (args, fmt);
08cd08c3 40 vsnprintf (buf, 2000, fmt, args);
23c9e63c
DD
41 OutputDebugString (buf);
42}
43
1fd6d0a2 44static int
ab57ceaa 45mbox (HWND owner, const char *name, int type, int id, va_list args)
23c9e63c
DD
46{
47 char buf[1000], fmt[1000];
48
1fd6d0a2 49 if (LoadString (hinstance, id, fmt, sizeof (fmt)) <= 0)
23c9e63c
DD
50 ExitProcess (0);
51
08cd08c3 52 vsnprintf (buf, 1000, fmt, args);
a77b6167 53 log (LOG_PLAIN) << "mbox " << name << ": " << buf << endLog;
0407753c
DK
54 if (unattended_mode)
55 {
56 // Return some default values.
57 log (LOG_PLAIN) << "unattended_mode is set at mbox: returning default value" << endLog;
58 switch (type & MB_TYPEMASK)
59 {
60 case MB_OK:
61 case MB_OKCANCEL:
62 return IDOK;
63 break;
64 case MB_YESNO:
65 case MB_YESNOCANCEL:
66 return IDYES;
67 break;
68 case MB_ABORTRETRYIGNORE:
69 return IDIGNORE;
70 break;
71 case MB_RETRYCANCEL:
72 return IDCANCEL;
73 break;
74 default:
75 log (LOG_PLAIN) << "unattended_mode failed for " << (type & MB_TYPEMASK) << endLog;
76 return 0;
77 }
78 }
ab57ceaa 79 return MessageBox (owner, buf, "Cygwin Setup", type);
23c9e63c
DD
80}
81
82void
ab57ceaa 83note (HWND owner, int id, ...)
23c9e63c
DD
84{
85 va_list args;
86 va_start (args, id);
ab57ceaa 87 mbox (owner, "note", 0, id, args);
23c9e63c
DD
88}
89
90void
ab57ceaa 91fatal (HWND owner, int id, ...)
23c9e63c
DD
92{
93 va_list args;
94 va_start (args, id);
ab57ceaa 95 mbox (owner, "fatal", 0, id, args);
9f4a0c62 96 LogSingleton::GetInstance().exit (1);
23c9e63c
DD
97}
98
99int
ab57ceaa 100yesno (HWND owner, int id, ...)
23c9e63c
DD
101{
102 va_list args;
103 va_start (args, id);
ab57ceaa 104 return mbox (owner, "yesno", MB_YESNO, id, args);
23c9e63c 105}
This page took 0.057973 seconds and 5 git commands to generate.