Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
AddonMgr.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SF_ADDONMGR_H
7#define SF_ADDONMGR_H
8
9#include "Define.h"
10#include <list>
11#include <string>
12
14{
15 AddonInfo(const std::string& name, uint8 enabled, uint32 crc, uint8 state, bool crcOrPubKey)
16 : Name(name), Enabled(enabled), CRC(crc), State(state), UsePublicKeyOrCRC(crcOrPubKey)
17 { }
18
19 std::string Name;
24};
25
27{
28 SavedAddon(std::string const& name, uint32 crc) : Name(name)
29 {
30 CRC = crc;
31 }
32
33 std::string Name;
35};
36
44
45#define STANDARD_ADDON_CRC 0x4C1C776D
46
47namespace AddonMgr
48{
49 void LoadFromDB();
50 void SaveAddon(AddonInfo const& addon);
51 SavedAddon const* GetAddonInfo(const std::string& name);
52
53 typedef std::list<BannedAddon> BannedAddonList;
55}
56
57#endif
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
std::list< BannedAddon > BannedAddonList
Definition AddonMgr.h:53
SavedAddon const * GetAddonInfo(const std::string &name)
Definition AddonMgr.cpp:98
void SaveAddon(AddonInfo const &addon)
Definition AddonMgr.cpp:84
void LoadFromDB()
Definition AddonMgr.cpp:28
BannedAddonList const * GetBannedAddons()
Definition AddonMgr.cpp:110
AddonInfo(const std::string &name, uint8 enabled, uint32 crc, uint8 state, bool crcOrPubKey)
Definition AddonMgr.h:15
std::string Name
Definition AddonMgr.h:19
uint8 State
Definition AddonMgr.h:22
bool UsePublicKeyOrCRC
Definition AddonMgr.h:23
uint32 CRC
Definition AddonMgr.h:21
uint8 Enabled
Definition AddonMgr.h:20
uint8 NameMD5[16]
Definition AddonMgr.h:40
uint32 Id
Definition AddonMgr.h:39
uint32 Timestamp
Definition AddonMgr.h:42
uint8 VersionMD5[16]
Definition AddonMgr.h:41
std::string Name
Definition AddonMgr.h:33
uint32 CRC
Definition AddonMgr.h:34
SavedAddon(std::string const &name, uint32 crc)
Definition AddonMgr.h:28