Add functionality for changing the service config. unused at the moment.
[reactos.git] / reactos / base / applications / mscutils / servman / precomp.h
1 #ifndef __SERVMAN_PRECOMP_H
2 #define __SERVMAN_PRECOMP_H
3
4 //#define WIN32_LEAN_AND_MEAN
5 #include <windows.h>
6 #include <windowsx.h> /* GET_X/Y_LPARAM */
7 #include <stdio.h>
8 #include <tchar.h>
9 #include <commctrl.h>
10 #include <shlobj.h>
11 #include "resource.h"
12
13 #ifdef _MSC_VER
14 #pragma warning(disable : 4100)
15 #endif
16
17 #define NO_ITEM_SELECTED -1
18 #define MAX_KEY_LENGTH 256
19
20 typedef struct _MAIN_WND_INFO
21 {
22 HWND hMainWnd;
23 HWND hListView;
24 HWND hStatus;
25 HWND hTool;
26 HMENU hShortcutMenu;
27 int nCmdShow;
28
29 ENUM_SERVICE_STATUS_PROCESS *pAllServices;
30 ENUM_SERVICE_STATUS_PROCESS *pCurrentService;
31
32 INT SelectedItem;/* selection number in the list view */
33 BOOL bDlgOpen;
34 BOOL bInMenuLoop;
35 BOOL bIsUserAnAdmin;
36
37 } MAIN_WND_INFO, *PMAIN_WND_INFO;
38
39
40 BOOL CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
41 BOOL CALLBACK CreateDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
42 BOOL CALLBACK DeleteDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
43 BOOL CALLBACK ProgressDialogProc(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam);
44
45
46 /* servman.c */
47 extern HINSTANCE hInstance;
48 extern HANDLE ProcessHeap;
49
50 /* mainwnd.c */
51 typedef struct _MENU_HINT
52 {
53 WORD CmdId;
54 UINT HintId;
55 } MENU_HINT, *PMENU_HINT;
56
57 BOOL InitMainWindowImpl(VOID);
58 VOID UninitMainWindowImpl(VOID);
59 HWND CreateMainWindow(LPCTSTR lpCaption, int nCmdShow);
60
61 /* start */
62 BOOL DoStart(PMAIN_WND_INFO Info);
63
64 /* control */
65 BOOL DoStop(PMAIN_WND_INFO Info);
66 BOOL DoPause(PMAIN_WND_INFO Info);
67 BOOL DoResume(PMAIN_WND_INFO Info);
68
69 /* progress.c */
70 HWND CreateProgressDialog(HWND hParent, LPTSTR lpServiceName, UINT Event);
71 VOID IncrementProgressBar(HWND hProgDlg);
72 VOID CompleteProgressBar(HWND hProgDlg);
73
74 /* query.c */
75 ENUM_SERVICE_STATUS_PROCESS* GetSelectedService(PMAIN_WND_INFO Info);
76 LPQUERY_SERVICE_CONFIG GetServiceConfig(LPTSTR lpServiceName);
77 BOOL SetServiceConfig(LPQUERY_SERVICE_CONFIG pServiceConfig, LPTSTR lpServiceName, LPTSTR lpPassword);
78 LPTSTR GetServiceDescription(LPTSTR lpServiceName);
79 LPTSTR GetExecutablePath(LPTSTR lpServiceName);
80 BOOL RefreshServiceList(PMAIN_WND_INFO Info);
81 BOOL UpdateServiceStatus(ENUM_SERVICE_STATUS_PROCESS* pService);
82
83 /* reg */
84 BOOL SetDescription(LPTSTR, LPTSTR);
85
86 /* propsheet.c */
87 LONG APIENTRY OpenPropSheet(PMAIN_WND_INFO Info);
88
89 /* export.c */
90 VOID ExportFile(PMAIN_WND_INFO Info);
91
92 /* misc.c */
93 INT AllocAndLoadString(OUT LPTSTR *lpTarget,
94 IN HINSTANCE hInst,
95 IN UINT uID);
96 DWORD LoadAndFormatString(IN HINSTANCE hInstance,
97 IN UINT uID,
98 OUT LPTSTR *lpTarget,
99 ...);
100 BOOL StatusBarLoadAndFormatString(IN HWND hStatusBar,
101 IN INT PartId,
102 IN HINSTANCE hInstance,
103 IN UINT uID,
104 ...);
105 BOOL StatusBarLoadString(IN HWND hStatusBar,
106 IN INT PartId,
107 IN HINSTANCE hInstance,
108 IN UINT uID);
109 INT GetTextFromEdit(OUT LPTSTR lpString,
110 IN HWND hDlg,
111 IN UINT Res);
112 VOID GetError(VOID);
113 VOID DisplayString(PTCHAR);
114 HIMAGELIST InitImageList(UINT NumButtons,
115 UINT StartResource,
116 UINT Width,
117 UINT Height);
118
119 #endif /* __SERVMAN_PRECOMP_H */