]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/libwin32/winservice.h
kes Reapply my bat.conf install script in qt-console. I think I
[bacula/bacula] / bacula / src / win32 / libwin32 / winservice.h
1 //  Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
2 //
3 //  This file was part of the ups system.
4 //
5 //  The ups system is free software; you can redistribute it and/or modify
6 //  it under the terms of the GNU General Public License as published by
7 //  the Free Software Foundation; either version 2 of the License, or
8 //  (at your option) any later version.
9 //
10 //  This program is distributed in the hope that it will be useful,
11 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 //  GNU General Public License for more details.
14 //
15 //  You should have received a copy of the GNU General Public License
16 //  along with this program; if not, write to the Free Software
17 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
18 //  USA.
19 //
20 // If the source code for the ups system is not available from the place
21 // whence you received this file, check http://www.uk.research.att.com/vnc or contact
22 // the authors on ups@uk.research.att.com for information on obtaining it.
23 //
24 // This file has been adapted to the Win32 version of Bacula
25 // by Kern E. Sibbald.  Many thanks to ATT and James Weatherall,
26 // the original author, for providing an excellent template.
27 //
28 // Copyright (C) 2000-2006 Kern E. Sibbald
29 //
30
31
32 // winservice.cpp
33
34 // SERVICE-MODE CODE
35
36 // This class provides access to service-oriented routines, under both
37 // Windows NT and Windows 95.  Some routines only operate under one
38 // OS, others operate under any OS.
39
40 #if (!defined(_win_bacService))
41 #define _win_bacService
42
43 // The NT-specific code wrapper class
44 class bacService
45 {
46 public:
47         bacService();
48
49    // SERVICE INSTALL & START FUNCTIONS
50
51    // Routine called by WinMain to cause Bacula to be installed
52    // as a service.
53    static int BaculaServiceMain();
54
55    // Routine to install the Apcupsd service on the local machine
56    static int InstallService(const char *pszCmdLine);
57
58    // Routine to remove the Apcupsd service from the local machine
59    static int RemoveService();
60
61    // SERVICE SUPPORT FUNCTIONS
62
63    // Routines to establish which OS we're running on
64    static BOOL IsWin95();
65    static BOOL IsWinNT();
66
67    // Routine to establish whether the current instance is running
68    // as a service or not
69    static BOOL RunningAsService();
70
71    // Routine to kill any other running copy of Apcupsd
72    static BOOL KillRunningCopy();
73
74    // Routine to make the an already running copy of Apcupsd bring up its
75    // About box so you can check the version!
76    static BOOL ShowAboutBox();
77
78    // Routine to make the an already running copy of Apcupsd bring up its
79    // Status dialog
80    static BOOL ShowStatus();
81 };
82
83 #endif