[Adium-devl] controller classes

Graham Booker 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  
original project.

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.


- Graham


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2415 bytes
Desc: not available
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20060725/ed58b48c/attachment.p7s>


More information about the devel mailing list