[tor-bugs] #3215 [Vidalia]: RFC: Plugin framework design

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Sat May 21 03:10:57 UTC 2011


#3215: RFC: Plugin framework design
-------------------------+--------------------------------------------------
 Reporter:  chiiph       |          Owner:  chiiph       
     Type:  enhancement  |         Status:  new          
 Priority:  normal       |      Milestone:  Vidalia-0.3.X
Component:  Vidalia      |        Version:               
 Keywords:               |         Parent:               
   Points:               |   Actualpoints:               
-------------------------+--------------------------------------------------

Comment(by nickm):

 Replying to [comment:2 chiiph]:
 > Replying to [comment:1 nickm]:
 > > Two things I wondered skimming it just now:
 > >
 > > What API do plugins get to use?  Which functions do they get to call?
 >
 > They get to use whatever we give them to use. The basics would be:
 VidaliaSettings, TorControl and other Tor abstractions (Circuit, Stream,
 etc), and everything (or almost) needed for building a fully functional
 GUI, along with some other class like QProcess.
 > For each class that we want to be available inside the plugin, you need
 to set up an interface as described in the doc, and load it to the script
 engine.

 Okay.  You should probably make a list, or start tagging stuff in the
 code, or something.  Once there is a plugin format, these interfaces will
 need to not change, or else plugins will break, so they'll need to be part
 of the documented API of "What Plugins Can Call."

 > > Do you have links to a few examples of plugins you think ought to
 exist?  For design things like this, I like to sketch out some example
 clients as I do it to  make sure that I'm not "generalizing from zero
 samples".
 >
 > Sure, I have example code, but not actual examples that follow the rules
 specified. Since you need to provide everything that can be used in the
 plugin, I have some toy examples, but nothing that seems close to a future
 plugin for Vidalia.
 > The first plugin that I'll build would be the one that starts Firefox
 for TBB.
 > I could code the plugin before being able to run it (may be this was
 what you meant?).

 I'm mainly hoping that you've thought of more than just one or two things
 to do as plugins, and that you've thought through them in enough detail to
 be sure that your framework will handle them, and that there aren't any
 parts of the framework that ''aren't'' there because of some actual
 requirement.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/3215#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list