I had a goal of keeping it pure C API... which allows it, in theory, to
be used with languages such as delphi and (yack) VB.

If this is doable as C++ only extension, without breaking the underlying
C API then it is certainly worth it I'd say... although it would be
strictly tied to dcpp based plugin hosts.

Another door that we probably want to keep open is for dc library X that
we have yet to know, being able to implement and reuse the same API, so
that plugins could in theory be shared between the two.

It would have been easy to make a very powerful plugin api strictly for
dcpp using f.ex. swig, or even simply using interface classes instead of
abstracting everything and sticking to C.

-- 
Plugins support
https://bugs.launchpad.net/bugs/587597
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.

Status in DC++: New

Bug description:
Ok, I'll leave out the sales pitch... here is a potential patch for adding 
support for plugins to DC++, compiles cleanly (ie. shouldn't generate any 
warnings) under mingw and visual studio of course and has been tested and 
working.

The code itself has been in ApexDC++ for a while so it has gotten real life use 
as well, of course migrating it to clean DC++ needed a few changes here and 
there but nothing major.

Should also compile and work on linux as it is... but this I have not had 
chance to test at all so that is just on paper for now.

The major difference between this patch and what's in ApexDC++ is that it does 
not include a full settings page for plugins which ApexDC++ has. This is simply 
because I don't know a squat about DWT. Instead this patch has set of chat 
commands added, so you can play around with the plugins, but if this gets 
accepted then I certainly hope someone is willing to invest into a settings 
page for usability sake.

Oh and few changes to the code come directly from bcdcpp, you'll spot them I am 
sure :).

As for the plugins currently three exists.. a pure C sample that (you guessed 
it) really doesn't do anything productive and then a plugin version of bcdcpp's 
lua (this one is pretty direct port, so it is C++).

The third one is not so impressive... it adds support for various media player 
chat announces (spam is too negative of a word), although primarily I created 
it to proof that it is possible to make a plugin that modifies the GUI, even 
though the API itself has little to no support for such plugin (on windows 
anyways),

The first two plugins can be compiled with both mingw and visual studio and are 
also hopefully linux friendly, the third not so much.

Oh and you can mix plugins... so mingw compiled dcpp will cope just fine with 
visual studio compiled plugins or vice versa (obviously this also means that 
the stl's used can be different). In theory you should also be able to create 
plugins with languages such as VB and Delphi but this very much theoretical.

Well do what you want with it... it's posted now.



_______________________________________________
Mailing list: https://launchpad.net/~linuxdcpp-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~linuxdcpp-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to