@@ -97,6 +97,18 @@ namespace SourceHook
97
97
98
98
int CSourceHookImpl::AddHook (Plugin plug, AddHookMode mode, void *iface, int thisptr_offs, HookManagerPubFunc myHookMan,
99
99
ISHDelegate *handler, bool post)
100
+ {
101
+ return AddHook (plug, mode, iface, thisptr_offs, HookManagerPubFuncHandler (myHookMan), handler, post);
102
+ }
103
+
104
+ int CSourceHookImpl::AddHook (Plugin plug, AddHookMode mode, void *iface, int thisptr_offs, IHookManagerMemberFunc* myHookMan,
105
+ ISHDelegate *handler, bool post)
106
+ {
107
+ return AddHook (plug, mode, iface, thisptr_offs, HookManagerPubFuncHandler (myHookMan), handler, post);
108
+ }
109
+
110
+ int CSourceHookImpl::AddHook (Plugin plug, AddHookMode mode, void *iface, int thisptr_offs, const HookManagerPubFuncHandler &myHookMan,
111
+ ISHDelegate *handler, bool post)
100
112
{
101
113
if (mode != Hook_Normal && mode != Hook_VP && mode != Hook_DVP)
102
114
return 0 ;
@@ -172,6 +184,18 @@ namespace SourceHook
172
184
173
185
bool CSourceHookImpl::RemoveHook (Plugin plug, void *iface, int thisptr_offs, HookManagerPubFunc myHookMan,
174
186
ISHDelegate *handler, bool post)
187
+ {
188
+ return RemoveHook (plug, iface, thisptr_offs, HookManagerPubFuncHandler (myHookMan), handler, post);
189
+ }
190
+
191
+ bool CSourceHookImpl::RemoveHook (Plugin plug, void *iface, int thisptr_offs, IHookManagerMemberFunc* myHookMan,
192
+ ISHDelegate *handler, bool post)
193
+ {
194
+ return RemoveHook (plug, iface, thisptr_offs, HookManagerPubFuncHandler (myHookMan), handler, post);
195
+ }
196
+
197
+ bool CSourceHookImpl::RemoveHook (Plugin plug, void *iface, int thisptr_offs, const HookManagerPubFuncHandler &myHookMan,
198
+ ISHDelegate *handler, bool post)
175
199
{
176
200
// Get info about hook manager and compute adjustediface
177
201
CHookManager tmpHookMan (plug, myHookMan);
@@ -417,6 +441,18 @@ namespace SourceHook
417
441
}
418
442
419
443
void CSourceHookImpl::RemoveHookManager (Plugin plug, HookManagerPubFunc pubFunc)
444
+ {
445
+ // Find the hook manager
446
+ RemoveHookManager (plug, HookManagerPubFuncHandler (pubFunc));
447
+ }
448
+
449
+ void CSourceHookImpl::RemoveHookManager (Plugin plug, IHookManagerMemberFunc* pubFunc)
450
+ {
451
+ // Find the hook manager
452
+ RemoveHookManager (plug, HookManagerPubFuncHandler (pubFunc));
453
+ }
454
+
455
+ void CSourceHookImpl::RemoveHookManager (Plugin plug, const HookManagerPubFuncHandler &pubFunc)
420
456
{
421
457
// Find the hook manager
422
458
CHookManList::iterator hookman_iter = m_HookManList.find (CHookManager::Descriptor (plug, pubFunc));
0 commit comments