[Adium-devl] controller classes
gbooker at tamu.edu
Tue Jul 25 21:02:21 UTC 2006
Since I did something like this within Fire (in the non-released
trunk), I feel I should weigh in.
The framework builds on its own without undefined supress or anything
of that nature, just links to Foundation and AppKit. The
application, plugins, and everything else links to the framework and
each stand on their own. The framework's only link to the
application is through a single reference to the main controller
(like AIAdium but instead of an instance variable, it is stored in a
static within a C function in the framework), and retrieves the other
controllers from this controller. All controllers not within the
framework have a protocol within the framework by which the implement.
For example, the main controller has a protocol within the framework
which it must implement. The main controller itself is not in the
framework nor is any reference. All code using the main controller
uses the protocol definition, not the class definition. The same
goes for all controllers not within the framework.
This system provides an API by which one can build plugins and a host
of other things with just the framework. In fact, plugins were build
using a separate project that only depended on the framework from the
On Jul 25, 2006, at 4:31 AM, Peter Hosey wrote:
> ⁃ Move the controllers to Adium.framework.
> ⁃ Get even a skeleton plug-in API up and running. We can start by
> looking at every controller (post-move) and seeing what methods
> stay, what methods go, what methods become private, and what
> methods get tweaked.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2415 bytes
Desc: not available
More information about the Adium-devl