<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Jeff Andros wrote:<br>
<br>
<blockquote
 cite="mid:96e779bf0707192057xf9cd637oa5f5820b0b2eb25b@mail.gmail.com"
 type="cite">
  <div>
  <div>ok, but here's the thing with having full plugin framework: what
if two
plugins take mutually exclusive actions (I.E. one plugin has a
whitelist, it tries to answer the phone because it's the girlfriend,
but the other plugin attempts to send the call to voicemail because
your gps says you're in a movie theatre) who should win?&nbsp; I think we
need to take one step beyond independent plugins:<br>
  </div>
  </div>
</blockquote>
This could be handled through either ordering or priority, either would
work.&nbsp; There still needs to be a control center that receives the basic
message from the core code (e.g. incoming call), works out which
modules are interested in the message and then sends it on to them.&nbsp; If
you are using ordering then you would probably chain the messages so
that if the message was altered by one module the altered message would
be received by the next<i>.</i>&nbsp; If you were using priority then you
could send the message to every module at the same time and wait for
all responses before continuing.<br>
<br>
&nbsp;&nbsp; Ordering would probably be easier both to develop and for end users
to manage.&nbsp; Priorities *may* by faster, although that's not guaranteed
by any stretch.&nbsp; The best solution would probably be a combination of
ordering and priorities.&nbsp; As you mention, although this would be a very
useful system a lot of the ability of it to be end-user friendly would
rely on a very intuitive GUI (or alternatively a system that is
restricted in such a way that a configuation GUI is not required).<br>
<br>
<br>
</body>
</html>