Revert "Device/Driver/LX: Add small delay after baud rate change"
[xcsoar.git] / test / src / TodayInstall.cpp
blobb3dba9874f3ca38f9ab92aac70f70a91a28f8b3c
1 /*
2 Copyright_License {
4 XCSoar Glide Computer - http://www.xcsoar.org/
5 Copyright (C) 2000-2013 The XCSoar Project
6 A detailed list of copyright holders can be found in the file "AUTHORS".
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 #include "Config/Registry.hpp"
26 #include <windows.h>
27 #include <tchar.h>
29 static bool
30 Uninstall()
32 RegistryKey key(HKEY_LOCAL_MACHINE,
33 _T("\\Software\\Microsoft\\Today\\Items\\XCSoar"), false);
34 return !key.error() && key.DeleteValue(_T("DLL"));
37 static bool
38 Install()
40 RegistryKey key(HKEY_LOCAL_MACHINE,
41 _T("\\Software\\Microsoft\\Today\\Items\\XCSoar"), false);
42 return !key.error() &&
43 key.SetValue(_T("DLL"), _T("\\Windows\\XCSoarLaunch.dll"));
46 static bool
47 Enable()
49 RegistryKey key(HKEY_LOCAL_MACHINE,
50 _T("\\Software\\Microsoft\\Today\\Items\\XCSoar"), false);
51 return !key.error() &&
52 key.SetValue(_T("Enabled"), DWORD(1));
55 static bool
56 Disable()
58 RegistryKey key(HKEY_LOCAL_MACHINE,
59 _T("\\Software\\Microsoft\\Today\\Items\\XCSoar"), false);
60 return !key.error() &&
61 key.SetValue(_T("Enabled"), DWORD(0));
64 static bool
65 Do(LPCTSTR cmd)
67 if (_tcscmp(cmd, _T("uninstall")) == 0)
68 return Disable() && Uninstall();
69 else if (_tcscmp(cmd, _T("enable")) == 0)
70 return Enable();
71 else if (_tcscmp(cmd, _T("disable")) == 0)
72 return Disable();
73 else
74 return Install();
77 int WINAPI
78 WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
79 LPTSTR lpCmdLine,
80 int nCmdShow)
82 if (Do(lpCmdLine)) {
83 SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0);
84 return 0;
85 } else {
86 MessageBox(NULL, _T("Error"), NULL, MB_ICONEXCLAMATION|MB_OK);
87 return 1;