From: stephan b. <st...@s1...> - 2004-12-29 00:18:09
|
On Wednesday 29 December 2004 01:01, stephan beal wrote: > Now, here are the deps as i BELIEVE them to be currently: Of course i forgot one: Plugin ==> Core Plugin ==> System (for SharedLib-related support) System ==> Plugin (MimeHandlerFactory is-a PluginManager) IO,Net,Sql ==> Plugin This one is a bit trickier to fix. The straightforward solution would be to move Plugin to System. This makes sense, actually, because Plugin is just an subclass of Factory which knows how to handle native DLLs. The problem with that move would be (IO <= Plugin => System). Damn... This dependency is tricky, but there is potentially another solution: Move PluginManager to the core, removing any System-related API. Create new type System/NativePluginManager (extends PluginManager), and move the System-related API here. NativePM will silently swap in the SharedLib support to PluginManager, in the same way that PluginManager can swap out the Factory<>::instance() objects. That might work. i'll need to experiment... tomorrow... -- ----- st...@s1... http://s11n.net "...pleasure is a grace and is not obedient to the commands of the will." -- Alan W. Watts |