CommonLibSSE (Parapets fork)
Stubs.h
Go to the documentation of this file.
1 #pragma once
2 
3 class SKSEDelayFunctorManager;
4 class SKSEObjectRegistry;
5 class SKSEPersistentObjectStorage;
6 class TaskDelegate;
7 class UIDelegate_v1;
8 
9 namespace SKSE
10 {
11  using PluginHandle = std::uint32_t;
12  enum : PluginHandle
13  {
14  kInvalidPluginHandle = static_cast<PluginHandle>(-1)
15  };
16 
17  namespace detail
18  {
19  struct PluginInfo
20  {
21  std::uint32_t infoVersion;
22  const char* name;
23  std::uint32_t version;
24  };
25 
27  {
28  std::uint32_t skseVersion;
29  std::uint32_t runtimeVersion;
30  std::uint32_t editorVersion;
31  std::uint32_t isEditor;
32  void* (*QueryInterface)(std::uint32_t);
34  std::uint32_t (*GetReleaseIndex)();
35  const void* (*GetPluginInfo)(const char*);
36  };
37 
39  {
40  std::uint32_t interfaceVersion;
41  bool (*RegisterListener)(PluginHandle, const char*, void*);
42  bool (*Dispatch)(PluginHandle, std::uint32_t, void*, std::uint32_t, const char*);
43  void* (*GetEventDispatcher)(std::uint32_t);
44  };
45 
47  {
48  std::uint32_t interfaceVersion;
49  SKSEDelayFunctorManager& (*GetDelayFunctorManager)();
50  SKSEObjectRegistry& (*GetObjectRegistry)();
51  SKSEPersistentObjectStorage& (*GetPersistentObjectStorage)();
52  };
53 
55  {
56  std::uint32_t interfaceVersion;
57  bool (*Register)(void*);
58  };
59 
61  {
62  std::uint32_t interfaceVersion;
63  bool (*Register)(const char*, void*);
64  void (*RegisterForInventory)(void*);
65  };
66 
68  {
69  std::uint32_t version;
70  void (*SetUniqueID)(PluginHandle, std::uint32_t);
72  void (*SetSaveCallback)(PluginHandle, void*);
73  void (*SetLoadCallback)(PluginHandle, void*);
75  bool (*WriteRecord)(std::uint32_t, std::uint32_t, const void*, std::uint32_t);
76  bool (*OpenRecord)(std::uint32_t, std::uint32_t);
77  bool (*WriteRecordData)(const void*, std::uint32_t);
78  bool (*GetNextRecordInfo)(std::uint32_t*, std::uint32_t*, std::uint32_t*);
79  std::uint32_t (*ReadRecordData)(void*, std::uint32_t);
80  bool (*ResolveHandle)(std::uint64_t, std::uint64_t*);
81  bool (*ResolveFormId)(std::uint32_t, std::uint32_t*);
82  };
83 
85  {
86  std::uint32_t interfaceVersion;
87  void (*AddTask)(void*);
88  void (*AddUITask)(void*);
89  };
90 
92  {
93  std::uint32_t interfaceVersion;
94  void* (*AllocateFromBranchPool)(PluginHandle, std::size_t);
95  void* (*AllocateFromLocalPool)(PluginHandle, std::size_t);
96  };
97 
99  {
100  public:
101  virtual void Run() = 0;
102  virtual void Dispose() = 0;
103  };
104 
106  {
107  public:
108  virtual void Run() = 0;
109  virtual void Dispose() = 0;
110  };
111  }
112 }
Definition: Stubs.h:99
virtual void Dispose()=0
Definition: Stubs.h:106
virtual void Dispose()=0
Definition: API.h:14
std::uint32_t PluginHandle
Definition: Stubs.h:11
@ kInvalidPluginHandle
Definition: Stubs.h:14
Definition: Stubs.h:20
const char * name
Definition: Stubs.h:22
std::uint32_t infoVersion
Definition: Stubs.h:21
std::uint32_t version
Definition: Stubs.h:23
Definition: Stubs.h:27
PluginHandle(* GetPluginHandle)()
Definition: Stubs.h:33
std::uint32_t isEditor
Definition: Stubs.h:31
std::uint32_t editorVersion
Definition: Stubs.h:30
std::uint32_t(* GetReleaseIndex)()
Definition: Stubs.h:34
std::uint32_t skseVersion
Definition: Stubs.h:28
std::uint32_t runtimeVersion
Definition: Stubs.h:29
bool(* Dispatch)(PluginHandle, std::uint32_t, void *, std::uint32_t, const char *)
Definition: Stubs.h:42
std::uint32_t interfaceVersion
Definition: Stubs.h:40
bool(* RegisterListener)(PluginHandle, const char *, void *)
Definition: Stubs.h:41
Definition: Stubs.h:47
std::uint32_t interfaceVersion
Definition: Stubs.h:48
bool(* Register)(void *)
Definition: Stubs.h:57
std::uint32_t interfaceVersion
Definition: Stubs.h:56
void(* RegisterForInventory)(void *)
Definition: Stubs.h:64
bool(* Register)(const char *, void *)
Definition: Stubs.h:63
std::uint32_t interfaceVersion
Definition: Stubs.h:62
void(* SetRevertCallback)(PluginHandle, void *)
Definition: Stubs.h:71
void(* SetFormDeleteCallback)(PluginHandle, void *)
Definition: Stubs.h:74
bool(* ResolveFormId)(std::uint32_t, std::uint32_t *)
Definition: Stubs.h:81
void(* SetLoadCallback)(PluginHandle, void *)
Definition: Stubs.h:73
bool(* ResolveHandle)(std::uint64_t, std::uint64_t *)
Definition: Stubs.h:80
bool(* OpenRecord)(std::uint32_t, std::uint32_t)
Definition: Stubs.h:76
void(* SetUniqueID)(PluginHandle, std::uint32_t)
Definition: Stubs.h:70
void(* SetSaveCallback)(PluginHandle, void *)
Definition: Stubs.h:72
std::uint32_t version
Definition: Stubs.h:69
bool(* WriteRecord)(std::uint32_t, std::uint32_t, const void *, std::uint32_t)
Definition: Stubs.h:75
std::uint32_t(* ReadRecordData)(void *, std::uint32_t)
Definition: Stubs.h:79
bool(* GetNextRecordInfo)(std::uint32_t *, std::uint32_t *, std::uint32_t *)
Definition: Stubs.h:78
bool(* WriteRecordData)(const void *, std::uint32_t)
Definition: Stubs.h:77
Definition: Stubs.h:85
void(* AddUITask)(void *)
Definition: Stubs.h:88
void(* AddTask)(void *)
Definition: Stubs.h:87
std::uint32_t interfaceVersion
Definition: Stubs.h:86
std::uint32_t interfaceVersion
Definition: Stubs.h:93