Changes it so the loading of IGridServiceModules is done in the loaders PostInitialise method so that all IGridPlugin are initialised before any IGridServerModules.
Which plugins it loads (either those for gridserver or those for userserver or both) is defined in the opensim.grid.ini file (see opensim.grid.ini.example). Also all config settings are now in that ini file rather than the old xml files. So edit that file with your changes, as the server no longer asks startup questions for those values.
And finally note all this is in a branch so no need for anyone to panic about all these changes.
Added T ReadSettingsFromIniFile<T>(IConfig configSection, T settingsClass) to OpenSim.Framework.Util, which will try to read values for the public fields and properties (read/writable properties) in the settingsclass from the nini config section. By looking in the ConfigSection for entries matching the names of the properties/fields. It currently supports fields/properties of the types, string, bool, int, float.
[Note this method used reflection so it comes with the normal performance overhead of that]
This class handles all the initialising of the grid server.
And made GridServer into basically a generic server that just loads plugins.
So this is a step towards having a generic server that loads service modules.
The ini files in this folder are loaded after the masterini file (if that is set) and before opensim.ini.
The default folder it looks for and searches is "bin\config", but that can be set by using the command arg "-inidirectory=<path>" (path is local to bin\) when starting up opensim.exe.
isn't tested, but it doesn't break anything else. The reason for this
function is to let in world tools be used to coordiante out of world
network services that need access to client ip addresses.
Also in that plugin it registers the IUserService with all the Scenes (as they are created). So now we can start changing over all uses of IUserService, that currently access it from the CommunicationsManager to accessing it from the Scene.RequestModuleInterface call.
Once that is done we can move the UserService creation out to its own plugin and remove all references to it from the CommunicationsManager. Then we can take the next CommunicationsManager interface and repeat.
Added a ApplicationRegistry to OpenSimBase.
Changed LoadRegionsPlugin so it registers itself to that application registry.
Added a event to LoadRegionsPlugin, that is triggered when it creates a new scene ,although maybe this event should actually be in opensimBase incase other plugins are creating regions (like the RemoteAdminPlugin).
* introduced new IRegionProfileService that is going to be _one_ profileService
* Had GridDBService inherit the IRegionProfileService
(preparing for re-wiring things and de-duplicating eventually)
* This commit also does a first pass at creating folders for an inventory archive (previously everything was dumped in the same destiantion folder).
* This code might not work yet and nobody else should be using it yet anyway :)
* Updated MXP to contain extension fragment with prims and updated MXPClientView to fill in the parameters.
* Added google protobuffers dll.
* Update MXP dll.
* Updated MXPClientView to send prim parameters as Perception event extension
* Started OpenSim and connected with IdealistViewer via MXP and ensured from log that parameters are being sent.
* Ensured that nant test target runs succesfully.
This closes mantis #3229. Thanks, tlaukkan!