| 106 | PostHostFunc = HostFunc; |
| 107 | } |
| 108 | void invokePreHostFunc() { |
| 109 | std::function<void(void *)> FuncSnapshot; |
| 110 | void *DataSnapshot = nullptr; |
| 111 | { |
| 112 | std::shared_lock Lock(Mutex); |
| 113 | FuncSnapshot = PreHostFunc; |
| 114 | DataSnapshot = PreHostData; |
| 115 | } |
| 116 | if (FuncSnapshot.operator bool()) { |
| 117 | FuncSnapshot(DataSnapshot); |
| 118 | } |
| 119 | } |
| 120 | void invokePostHostFunc() { |
| 121 | std::function<void(void *)> FuncSnapshot; |
| 122 | void *DataSnapshot = nullptr; |