summaryrefslogtreecommitdiff
path: root/plugins/Updater/services.h
blob: ce4a2dc5741e7394946032e91f8dc2d8a8a516cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef _SERVICES_INC
#define _SERVICES_INC

#include "m_updater.h"
#include "options.h"
#include "xmldata.h"
#include "conf_dialog.h"
#include "conf_comp_dialog.h"
#include "progress_dialog.h"
#include "extern.h"
#include "scan.h"
#include "popups.h"

#include "socket.h"
#include "allocations.h"
#include "utils.h"
#include "updater.h"


void RestoreStatus();

INT_PTR Register(WPARAM wParam, LPARAM lParam);

////////////////////////////
// used internally
/////////////////////

// used to create the 'Check for Updates' trigger action in triggerplugin
#define MS_UPDATE_CHECKFORUPDATESTRGR			"Update/CheckForUpdatesTrigger"


#define MS_UPDATE_CHECKFORUPDATES			"Update/CheckForUpdates"
// wParam = (BOOL)don't confirm
// lParam = (BOOL)don't restart after update
// returns 1 if user cancels or there are no plugins to update, 0 otherwise (implies impending restart)
INT_PTR CheckForUpdates(WPARAM wParam, LPARAM lParam);

#define MS_UPDATE_MENUCHECKFORUPDATES	"Update/MenuCheckForUpdates"
__inline int MenuCheckForUpdates(WPARAM wParam, LPARAM lParam) {
	return CheckForUpdates(0,0);
}

#define MS_UPDATE_MENURESTART			"Update/MenuRestart"
INT_PTR Restart(WPARAM wParam, LPARAM lParam);

#define MS_UPDATE_MENUUPDATEANDEXIT		"Update/MenuUpdateAndExit"
INT_PTR UpdateAndExit(WPARAM wParam, LPARAM lParam);

#define MS_UPDATE_SETUPDATEOPTIONS			"Update/SetUpdateOptions"
// wParam = (char *)szComponentName
// lParam = (UpdateOptions *)&update_options
INT_PTR SetUpdateOptions(WPARAM wParam, LPARAM lParam);

#define MS_UPDATE_GETUPDATEOPTIONS			"Update/GetUpdateOptions"
// wParam = (char *)szComponentName
// lParam = (UpdateOptions *)&update_options
INT_PTR GetUpdateOptions(WPARAM wParam, LPARAM lParam);

void LoadUpdateOptions(char *szComponentName, UpdateOptions *update_options);

// callback function typedef for enumerating installed plugins with their associated options
// (warning - critical section locked during this function call - so don't call other services or functions from this plugin that use the update list)
typedef int (*UpdateEnumerateFunc)(char *szComonentName, UpdateOptions *update_options, LPARAM lParam);
#define MS_UPDATE_ENUMERATE					"Update/EnumerateUpdates"
// wParam = (UpdateEnumerateFunc)enum_func
// lParam = lParam
INT_PTR EnumerateUpdates(WPARAM wParam, LPARAM lParam);
////////////////////////////

bool IsRegistered(int file_id);
bool RegisterForFileListing(int file_id, PLUGININFOEX *pluginInfo, bool auto_register);
bool RegisterForFileListing(int file_id, const char *fl_name, DWORD version, bool auto_register, const Category cat);

void InitServices();
void PreDeinitServices();
void DeinitServices();

#endif