[Opensim-dev] Refactoring all remaining module loading for PluginLoader

Ryan McDougall sempuki1 at gmail.com
Wed Jul 2 05:12:41 UTC 2008


To complete a change-over to PluginLoader, I need to migrate the below
interfaces, which I have identified as being used for loading modules of
varying kinds, to IPlugin interface.

ILogData
IUserData
IAssetProvider
IInventoryData
IApplicationPlugin
IRegionModule
IRegionDataStore
IGridPlugin
IGridData
IGenericConfig
IDataNode
IDataSnapshotProvider
IClientNetworkServer
IPhysicsPlugin
IMeshingPlugin
ITerrainEffect
ITerrainLoader
ITarget

This would mean standardizing on IPLugin interface by creating a
inheritance hierarchy with IPlugin at its root, and deprecating the
semantically redundant functions such as Close(), Shutdown(), and
Stop(), to name a few.

We can do this several ways, starting with my preference:

1. I will delete deprecated methods, and replace them the appropriate
calls in IPlugin (effectively putting the burden on 3rd party
maintainers to jump up and change their out-of-tree modules to match
HEAD).

2. I rewrite the deprecated calls to use the appropriate calls in
IPlugin (effectively making deletion someone else job, a maintainer
where such exist, whether 3rd party or in-tree).

3. I will change just enough to make it compile, and correctness is the
module maintainer's job (effectively leaving the changeover in limbo
until someone decides it looks ugly, or is down right incorrect).

Votes?

Next step after a successful migration is to obsolete the old loading
code and have it removed from trunk after a suitable time for any
possible 3rd party devs have migrated away from it. Ideas there?




More information about the Opensim-dev mailing list