[Opensim-dev] Scope and Purpose of IApplicationPlugins and IRegionModules

Ryan McDougall sempuki1 at gmail.com
Thu Jul 3 07:43:50 UTC 2008


In my poking about the loading code to get an idea of the scale of the
problem. I asked before about I*Plugin v. I(Region)Module, but I don't
think there was much of a clear answer...

The reason I am asking again is that I noticed:

1. That a Scene takes a (Region)ModuleLoader as an argument to its
constructor. It doesn't appear to use this reference at all. 

Is there a Scene that needs to load its own RegionModules? Or is this an
example of bit-rotted code or inappropriate abstraction/coupling?

2. That LoadRegionsPlugin (an IApplicationPlugin) uses its reference to
(Region)ModuleLoader (through OpenSimBase) to load RegionModules. 

Without knowing the semantic difference between a Plugin and Module, the
LoadRegionsPlugin looks a bit awkward. It appears as if its only purpose
is to choose between RegionLoaderFileSystem and RegionLoaderWebServer,
then load them within a plugin...

Perhaps it might be more appropriate to make that selection in
OpenSimBase in order to keep all loading in one place? 

There are many ways I could do that, but it would take understanding the
purpose of the current and future design in order to make my plugin
loader a true solution that accommodates all use-cases.

Can we replace IRegionModules with IRegionPlugins and have PluginLoader
load them all?

Cheers,




More information about the Opensim-dev mailing list