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
|
// Copyright (c) Hercules Dev Team, licensed under GNU GPL.
// See the LICENSE file
#ifndef _HPMi_H_
#define _HPMi_H_
#include "../common/cbasetypes.h"
#include "../common/core.h"
#include "../common/console.h"
struct script_state;
struct AtCommandInfo;
#ifdef WIN32
#define HPExport __declspec(dllexport)
#else
#define HPExport
#endif
#ifndef _SHOWMSG_H_
HPExport void (*ShowMessage) (const char *, ...);
HPExport void (*ShowStatus) (const char *, ...);
HPExport void (*ShowSQL) (const char *, ...);
HPExport void (*ShowInfo) (const char *, ...);
HPExport void (*ShowNotice) (const char *, ...);
HPExport void (*ShowWarning) (const char *, ...);
HPExport void (*ShowDebug) (const char *, ...);
HPExport void (*ShowError) (const char *, ...);
HPExport void (*ShowFatalError) (const char *, ...);
#endif
/* after */
#include "../common/showmsg.h"
#define HPM_VERSION "0.1"
struct hplugin_info {
char* name;
enum server_types type;
char* version;
char* req_version;
};
HPExport void *(*import_symbol) (char *name);
#define GET_SYMBOL(n) import_symbol(n)
#define SERVER_TYPE_ALL SERVER_TYPE_LOGIN|SERVER_TYPE_CHAR|SERVER_TYPE_MAP
enum hp_event_types {
HPET_INIT,/* server starts */
HPET_FINAL,/* server is shutting down */
HPET_READY,/* server is ready (online) */
HPET_MAX,
};
/* Hercules Plugin Mananger Include Interface */
struct HPMi_interface {
void (*event[HPET_MAX]) (void);
bool (*addCommand) (char *name, bool (*func)(const int fd, struct map_session_data* sd, const char* command, const char* message,struct AtCommandInfo *info));
bool (*addScript) (char *name, char *args, bool (*func)(struct script_state *st));
void (*addCPCommand) (char *name, CParseFunc func);
} HPMi_s;
#ifndef _HPM_H_
struct HPMi_interface *HPMi;
#endif
#endif /* _HPMi_H_ */
|