* Added ExtensionLoader, a generic plugin system with internal, external assembly, and source file plugin loading as well as interface binding

* Switched Simian over to ExtensionLoader

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2258 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2008-10-05 22:05:18 +00:00
parent 4f79c6aa7c
commit 644d415e60
24 changed files with 315 additions and 265 deletions

View File

@@ -1,11 +1,12 @@
using System;
using System.Collections.Generic;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
namespace Simian.Extensions
{
public class AccountManager : ISimianExtension, IAccountProvider, IPersistable
public class AccountManager : IExtension, IAccountProvider, IPersistable
{
public string StoreName { get { return "Accounts"; } }

View File

@@ -1,13 +1,14 @@
using System;
using System.Collections.Generic;
using System.IO;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Imaging;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class AssetManager : ISimianExtension, IAssetProvider
public class AssetManager : IExtension, IAssetProvider
{
Simian Server;
Dictionary<UUID, Asset> AssetStore = new Dictionary<UUID, Asset>();

View File

@@ -1,9 +1,10 @@
using System;
using ExtensionLoader;
using OpenMetaverse;
namespace Simian.Extensions
{
public class AuthFreeForAll : ISimianExtension, IAuthenticationProvider
public class AuthFreeForAll : IExtension, IAuthenticationProvider
{
Simian server;

View File

@@ -1,13 +1,14 @@
using System;
using System.Collections.Generic;
using System.Threading;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
class AvatarManager : ISimianExtension, IAvatarProvider
class AvatarManager : IExtension, IAvatarProvider
{
Simian Server;
int currentWearablesSerialNum = -1;

View File

@@ -1,5 +1,6 @@
using OpenMetaverse;
using OpenMetaverse.Packets;
using ExtensionLoader;
using System;
using System.Collections.Generic;
using System.Text;
@@ -7,7 +8,7 @@ using System.Threading;
namespace Simian.Extensions
{
public class CoarseLocationUpdates : ISimianExtension
public class CoarseLocationUpdates : IExtension
{
Simian Server;
Timer CoarseLocationTimer;

View File

@@ -1,10 +1,11 @@
using System;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class ConnectionManagement : ISimianExtension
public class ConnectionManagement : IExtension
{
Simian server;

View File

@@ -1,12 +1,12 @@
using OpenMetaverse;
using OpenMetaverse.Packets;
using System;
using System.Collections.Generic;
using System.Text;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class FriendManager : ISimianExtension
public class FriendManager : IExtension
{
Simian Server;

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Drawing;
using System.Threading;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Imaging;
using OpenMetaverse.Packets;
@@ -81,7 +82,7 @@ namespace Simian.Extensions
}
}
public class ImageDelivery : ISimianExtension
public class ImageDelivery : IExtension
{
Simian Server;
AssetTexture defaultJP2;

View File

@@ -1,11 +1,12 @@
using System;
using System.Collections.Generic;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class InventoryManager : ISimianExtension, IInventoryProvider
public class InventoryManager : IExtension, IInventoryProvider
{
Simian Server;

View File

@@ -1,12 +1,12 @@
using OpenMetaverse;
using OpenMetaverse.Packets;
using System;
using System.Collections.Generic;
using System.Text;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class Messaging : ISimianExtension
public class Messaging : IExtension
{
Simian Server;

View File

@@ -1,12 +1,12 @@
using OpenMetaverse;
using OpenMetaverse.Packets;
using System;
using System.Collections.Generic;
using System.Text;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
class Money : ISimianExtension
class Money : IExtension
{
Simian Server;

View File

@@ -1,13 +1,13 @@
using OpenMetaverse;
using OpenMetaverse.Packets;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class Movement : ISimianExtension
public class Movement : IExtension
{
const int UPDATE_ITERATION = 100; //rate in milliseconds to send ObjectUpdate
const bool ENVIRONMENT_SOUNDS = true; //collision sounds, splashing, etc

View File

@@ -1,13 +1,14 @@
using System;
using System.Collections.Generic;
using System.Threading;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Rendering;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class ObjectManager : ISimianExtension
public class ObjectManager : IExtension
{
Simian Server;

View File

@@ -1,11 +1,12 @@
using System;
using System.Collections.Generic;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class ParcelManager : ISimianExtension, IParcelProvider
public class ParcelManager : IExtension, IParcelProvider
{
Simian server;
Dictionary<int, Parcel> parcels = new Dictionary<int, Parcel>();

View File

@@ -1,11 +1,12 @@
using System;
using System.Collections.Generic;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Rendering;
namespace Simian.Extensions
{
public class RenderingPluginMesher : ISimianExtension, IMeshingProvider
public class RenderingPluginMesher : IExtension, IMeshingProvider
{
Simian Server;
IRendering Renderer;

View File

@@ -5,13 +5,14 @@ using System.Drawing.Imaging;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Imaging;
using OpenMetaverse.Packets;
namespace Simian.Extensions
{
public class SceneManager : ISimianExtension, ISceneProvider
public class SceneManager : IExtension, ISceneProvider
{
Simian server;
DoubleDictionary<uint, UUID, SimulationObject> sceneObjects = new DoubleDictionary<uint, UUID, SimulationObject>();

View File

@@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Threading;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.Packets;
@@ -67,7 +68,7 @@ namespace Simian
}
}
public class UDPManager : ISimianExtension, IUDPProvider
public class UDPManager : IExtension, IUDPProvider
{
Simian Server;
UDPServer udpServer;

View File

@@ -2,12 +2,13 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;
using ExtensionLoader;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
namespace Simian.Extensions
{
public class XMLPersistence : ISimianExtension, IPersistenceProvider
public class XMLPersistence : IExtension, IPersistenceProvider
{
Simian server;