linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #05835
[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2986: merge two plugin hook types into single type; callback functions now have one additional paramete...
------------------------------------------------------------
revno: 2986
committer: cologic <ne5@xxxxxxxxxxx>
branch nick: dcplusplus
timestamp: Sat 2012-07-07 23:48:50 -0400
message:
merge two plugin hook types into single type; callback functions now have one additional parameter but creation and binding interface unchanged
modified:
dcpp/PluginDefs.h
dcpp/PluginManager.cpp
dcpp/PluginManager.h
plugins/SamplePlugin/Plugin.c
plugins/SamplePlugin/Plugin.h
--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk
Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/PluginDefs.h'
--- dcpp/PluginDefs.h 2012-07-02 18:13:18 +0000
+++ dcpp/PluginDefs.h 2012-07-08 03:48:50 +0000
@@ -280,8 +280,7 @@
/* Hooks (events) system - required interface! */
/* Hook function prototypes */
-typedef Bool (DCAPI* DCHOOK) (dcptr_t pObject, dcptr_t pData, Bool* bBreak);
-typedef Bool (DCAPI* DCHOOKCOMMON) (dcptr_t pObject, dcptr_t pData, void* pCommon, Bool* bBreak);
+typedef Bool (DCAPI* DCHOOK) (dcptr_t pObject, dcptr_t pData, void* pCommon, Bool* bBreak);
/* Hook system functions */
typedef struct tagDCHooks {
=== modified file 'dcpp/PluginManager.cpp'
--- dcpp/PluginManager.cpp 2012-07-07 16:36:41 +0000
+++ dcpp/PluginManager.cpp 2012-07-08 03:48:50 +0000
@@ -348,14 +348,14 @@
Bool bBreak = False;
Bool bRes = False;
for(auto& sub: hook->subscribers) {
- if(sub->common ? sub->hookProcCommon(pObject, pData, sub->common, &bBreak) : sub->hookProc(pObject, pData, &bBreak))
+ if(sub->hookProc(pObject, pData, sub->common, &bBreak))
bRes = True;
if(bBreak) return (bRes != False);
}
// Call default hook procedure for all unused hooks
if(hook->defProc && hook->subscribers.empty()) {
- if(hook->defProc(pObject, pData, &bBreak))
+ if(hook->defProc(pObject, pData, NULL, &bBreak))
bRes = True;
}
=== modified file 'dcpp/PluginManager.h'
--- dcpp/PluginManager.h 2012-07-07 16:36:41 +0000
+++ dcpp/PluginManager.h 2012-07-08 03:48:50 +0000
@@ -53,10 +53,7 @@
// Represents a plugin in hook context
struct HookSubscriber {
- union {
- DCHOOK hookProc;
- DCHOOKCOMMON hookProcCommon;
- };
+ DCHOOK hookProc;
void* common;
string owner;
};
=== modified file 'plugins/SamplePlugin/Plugin.c'
--- plugins/SamplePlugin/Plugin.c 2012-07-02 21:37:23 +0000
+++ plugins/SamplePlugin/Plugin.c 2012-07-08 03:48:50 +0000
@@ -103,7 +103,7 @@
}
/* Event handlers */
-Bool DCAPI onHubEnter(dcptr_t pObject, dcptr_t pData, Bool* bBreak) {
+Bool DCAPI onHubEnter(dcptr_t pObject, dcptr_t pData, void *opaque, Bool* bBreak) {
HubDataPtr hHub = (HubDataPtr)pObject;
CommandDataPtr cmd = (CommandDataPtr)pData;
@@ -189,7 +189,7 @@
return False;
}
-Bool DCAPI onHubOnline(dcptr_t pObject, dcptr_t pData, Bool* bBreak) {
+Bool DCAPI onHubOnline(dcptr_t pObject, dcptr_t pData, void *opaque, Bool* bBreak) {
HubDataPtr hHub = (HubDataPtr)pObject;
char* buf = (char*)memset(malloc(256), 0, 256);
=== modified file 'plugins/SamplePlugin/Plugin.h'
--- plugins/SamplePlugin/Plugin.h 2012-07-02 21:37:23 +0000
+++ plugins/SamplePlugin/Plugin.h 2012-07-08 03:48:50 +0000
@@ -35,8 +35,8 @@
void DCAPI set_cfg_int64(const char* name, int64_t value);
/* Event handlers */
-Bool DCAPI onHubEnter(dcptr_t pObject, dcptr_t pData, Bool* bBreak);
-Bool DCAPI onHubOnline(dcptr_t pObject, dcptr_t pData, Bool* bBreak);
+Bool DCAPI onHubEnter(dcptr_t pObject, dcptr_t pData, void *opaque, Bool* bBreak);
+Bool DCAPI onHubOnline(dcptr_t pObject, dcptr_t pData, void *opaque, Bool* bBreak);
/* Plugin main function */
Bool DCAPI pluginMain(PluginState state, DCCorePtr core, dcptr_t pData);