Moving these nice HG connectors to their homes.

0.6.6-post-fixes
diva 2009-06-15 23:29:00 +00:00
parent 6cb7ecd99c
commit e1fd76ace6
4 changed files with 423 additions and 425 deletions

View File

@ -1,179 +1,178 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using log4net; using log4net;
using Nini.Config; using Nini.Config;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using OpenSim.Services.Connectors;
namespace OpenSim.Services.Connectors
namespace OpenSim.Services.AssetService {
{ public class HGAssetServiceConnector : IAssetService
public class HGAssetService : IAssetService {
{ private static readonly ILog m_log =
private static readonly ILog m_log = LogManager.GetLogger(
LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType);
MethodBase.GetCurrentMethod().DeclaringType);
private Dictionary<string, AssetServicesConnector> m_connectors = new Dictionary<string, AssetServicesConnector>();
private Dictionary<string, AssetServicesConnector> m_connectors = new Dictionary<string, AssetServicesConnector>();
public HGAssetServiceConnector(IConfigSource source)
public HGAssetService(IConfigSource source) {
{ IConfig moduleConfig = source.Configs["Modules"];
IConfig moduleConfig = source.Configs["Modules"]; if (moduleConfig != null)
if (moduleConfig != null) {
{ // string name = moduleConfig.GetString("AssetServices", "");
// string name = moduleConfig.GetString("AssetServices", "");
IConfig assetConfig = source.Configs["AssetService"];
IConfig assetConfig = source.Configs["AssetService"]; if (assetConfig == null)
if (assetConfig == null) {
{ m_log.Error("[HG ASSET SERVICE]: AssetService missing from OpenSim.ini");
m_log.Error("[HG ASSET SERVICE]: AssetService missing from OpanSim.ini"); return;
return; }
}
m_log.Info("[HG ASSET SERVICE]: HG asset service enabled");
m_log.Info("[HG ASSET SERVICE]: HG asset service enabled"); }
} }
}
private bool StringToUrlAndAssetID(string id, out string url, out string assetID)
private bool StringToUrlAndAssetID(string id, out string url, out string assetID) {
{ url = String.Empty;
url = String.Empty; assetID = String.Empty;
assetID = String.Empty;
Uri assetUri;
Uri assetUri;
if (Uri.TryCreate(id, UriKind.Absolute, out assetUri) &&
if (Uri.TryCreate(id, UriKind.Absolute, out assetUri) && assetUri.Scheme == Uri.UriSchemeHttp)
assetUri.Scheme == Uri.UriSchemeHttp) {
{ url = "http://" + assetUri.Authority;
url = "http://" + assetUri.Authority; assetID = assetUri.LocalPath.Trim(new char[] {'/'});
assetID = assetUri.LocalPath.Trim(new char[] {'/'}); return true;
return true; }
}
return false;
return false; }
}
private IAssetService GetConnector(string url)
private IAssetService GetConnector(string url) {
{ AssetServicesConnector connector = null;
AssetServicesConnector connector = null; lock (m_connectors)
lock (m_connectors) {
{ if (m_connectors.ContainsKey(url))
if (m_connectors.ContainsKey(url)) {
{ connector = m_connectors[url];
connector = m_connectors[url]; }
} else
else {
{ // We're instantiating this class explicitly, but this won't
// We're instantiating this class explicitly, but this won't // work in general, because the remote grid may be running
// work in general, because the remote grid may be running // an asset server that has a different protocol.
// an asset server that has a different protocol. // Eventually we will want a piece of protocol asking
// Eventually we will want a piece of protocol asking // the remote server about its kind. Definitely cool thing to do!
// the remote server about its kind. Definitely cool thing to do! connector = new AssetServicesConnector(url);
connector = new AssetServicesConnector(url); m_connectors.Add(url, connector);
m_connectors.Add(url, connector); }
} }
} return connector;
return connector; }
}
public AssetBase Get(string id)
public AssetBase Get(string id) {
{ string url = string.Empty;
string url = string.Empty; string assetID = string.Empty;
string assetID = string.Empty;
if (StringToUrlAndAssetID(id, out url, out assetID))
if (StringToUrlAndAssetID(id, out url, out assetID)) {
{ IAssetService connector = GetConnector(url);
IAssetService connector = GetConnector(url); return connector.Get(assetID);
return connector.Get(assetID); }
}
return null;
return null; }
}
public AssetMetadata GetMetadata(string id)
public AssetMetadata GetMetadata(string id) {
{ string url = string.Empty;
string url = string.Empty; string assetID = string.Empty;
string assetID = string.Empty;
if (StringToUrlAndAssetID(id, out url, out assetID))
if (StringToUrlAndAssetID(id, out url, out assetID)) {
{ IAssetService connector = GetConnector(url);
IAssetService connector = GetConnector(url); return connector.GetMetadata(assetID);
return connector.GetMetadata(assetID); }
}
return null;
return null; }
}
public byte[] GetData(string id)
public byte[] GetData(string id) {
{ return null;
return null; }
}
public bool Get(string id, Object sender, AssetRetrieved handler)
public bool Get(string id, Object sender, AssetRetrieved handler) {
{ string url = string.Empty;
string url = string.Empty; string assetID = string.Empty;
string assetID = string.Empty;
if (StringToUrlAndAssetID(id, out url, out assetID))
if (StringToUrlAndAssetID(id, out url, out assetID)) {
{ IAssetService connector = GetConnector(url);
IAssetService connector = GetConnector(url); return connector.Get(assetID, sender, handler);
return connector.Get(assetID, sender, handler); }
}
return false;
return false; }
}
public string Store(AssetBase asset)
public string Store(AssetBase asset) {
{ string url = string.Empty;
string url = string.Empty; string assetID = string.Empty;
string assetID = string.Empty;
if (StringToUrlAndAssetID(asset.ID, out url, out assetID))
if (StringToUrlAndAssetID(asset.ID, out url, out assetID)) {
{ IAssetService connector = GetConnector(url);
IAssetService connector = GetConnector(url); // Restore the assetID to a simple UUID
// Restore the assetID to a simple UUID asset.ID = assetID;
asset.ID = assetID; return connector.Store(asset);
return connector.Store(asset); }
}
return String.Empty;
return String.Empty; }
}
public bool UpdateContent(string id, byte[] data)
public bool UpdateContent(string id, byte[] data) {
{ return false;
return false; }
}
public bool Delete(string id)
public bool Delete(string id) {
{ return false;
return false; }
} }
} }
}

View File

@ -1,242 +1,241 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using log4net; using log4net;
using Nini.Config; using Nini.Config;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using OpenSim.Services.Connectors; using OpenMetaverse;
using OpenMetaverse;
namespace OpenSim.Services.Connectors.Inventory
namespace OpenSim.Services.InventoryService {
{ public class HGInventoryServiceConnector : ISessionAuthInventoryService
public class HGInventoryService : ISessionAuthInventoryService {
{ private static readonly ILog m_log =
private static readonly ILog m_log = LogManager.GetLogger(
LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType);
MethodBase.GetCurrentMethod().DeclaringType);
private Dictionary<string, InventoryServicesConnector> m_connectors = new Dictionary<string, InventoryServicesConnector>();
private Dictionary<string, InventoryServicesConnector> m_connectors = new Dictionary<string, InventoryServicesConnector>();
public HGInventoryServiceConnector(IConfigSource source)
public HGInventoryService(IConfigSource source) {
{ IConfig moduleConfig = source.Configs["Modules"];
IConfig moduleConfig = source.Configs["Modules"]; if (moduleConfig != null)
if (moduleConfig != null) {
{
IConfig inventoryConfig = source.Configs["InventoryService"];
IConfig assetConfig = source.Configs["InventoryService"]; if (inventoryConfig == null)
if (assetConfig == null) {
{ m_log.Error("[HG INVENTORY SERVICE]: InventoryService missing from OpenSim.ini");
m_log.Error("[HG INVENTORY SERVICE]: InventoryService missing from OpenSim.ini"); return;
return; }
}
m_log.Info("[HG INVENTORY SERVICE]: HG inventory service enabled");
m_log.Info("[HG INVENTORY SERVICE]: HG inventory service enabled"); }
} }
}
private bool StringToUrlAndUserID(string id, out string url, out string userID)
private bool StringToUrlAndUserID(string id, out string url, out string userID) {
{ url = String.Empty;
url = String.Empty; userID = String.Empty;
userID = String.Empty;
Uri assetUri;
Uri assetUri;
if (Uri.TryCreate(id, UriKind.Absolute, out assetUri) &&
if (Uri.TryCreate(id, UriKind.Absolute, out assetUri) && assetUri.Scheme == Uri.UriSchemeHttp)
assetUri.Scheme == Uri.UriSchemeHttp) {
{ url = "http://" + assetUri.Authority;
url = "http://" + assetUri.Authority; userID = assetUri.LocalPath.Trim(new char[] { '/' });
userID = assetUri.LocalPath.Trim(new char[] { '/' }); return true;
return true; }
}
return false;
return false; }
} private ISessionAuthInventoryService GetConnector(string url)
private ISessionAuthInventoryService GetConnector(string url) {
{ InventoryServicesConnector connector = null;
InventoryServicesConnector connector = null; lock (m_connectors)
lock (m_connectors) {
{ if (m_connectors.ContainsKey(url))
if (m_connectors.ContainsKey(url)) {
{ connector = m_connectors[url];
connector = m_connectors[url]; }
} else
else {
{ // We're instantiating this class explicitly, but this won't
// We're instantiating this class explicitly, but this won't // work in general, because the remote grid may be running
// work in general, because the remote grid may be running // an inventory server that has a different protocol.
// an inventory server that has a different protocol. // Eventually we will want a piece of protocol asking
// Eventually we will want a piece of protocol asking // the remote server about its kind. Definitely cool thing to do!
// the remote server about its kind. Definitely cool thing to do! connector = new InventoryServicesConnector(url);
connector = new InventoryServicesConnector(url); m_connectors.Add(url, connector);
m_connectors.Add(url, connector); }
} }
} return connector;
return connector; }
}
public string Host
public string Host {
{ get { return string.Empty; }
get { return string.Empty; } }
}
public void GetUserInventory(string id, UUID sessionID, InventoryReceiptCallback callback)
public void GetUserInventory(string id, UUID sessionID, InventoryReceiptCallback callback) {
{ m_log.Debug("[HGInventory]: GetUserInventory " + id);
m_log.Debug("[HGInventory]: GetUserInventory " + id); string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); connector.GetUserInventory(userID, sessionID, callback);
connector.GetUserInventory(userID, sessionID, callback); }
}
}
}
public bool AddFolder(string id, InventoryFolderBase folder, UUID sessionID)
public bool AddFolder(string id, InventoryFolderBase folder, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.AddFolder(userID, folder, sessionID);
return connector.AddFolder(userID, folder, sessionID); }
} return false;
return false; }
}
public bool UpdateFolder(string id, InventoryFolderBase folder, UUID sessionID)
public bool UpdateFolder(string id, InventoryFolderBase folder, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.UpdateFolder(userID, folder, sessionID);
return connector.UpdateFolder(userID, folder, sessionID); }
} return false;
return false; }
}
public bool MoveFolder(string id, InventoryFolderBase folder, UUID sessionID)
public bool MoveFolder(string id, InventoryFolderBase folder, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.MoveFolder(userID, folder, sessionID);
return connector.MoveFolder(userID, folder, sessionID); }
} return false;
return false; }
}
public bool PurgeFolder(string id, InventoryFolderBase folder, UUID sessionID)
public bool PurgeFolder(string id, InventoryFolderBase folder, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.PurgeFolder(userID, folder, sessionID);
return connector.PurgeFolder(userID, folder, sessionID); }
} return false;
return false; }
}
public bool AddItem(string id, InventoryItemBase item, UUID sessionID)
public bool AddItem(string id, InventoryItemBase item, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.AddItem(userID, item, sessionID);
return connector.AddItem(userID, item, sessionID); }
} return false;
return false; }
}
public bool UpdateItem(string id, InventoryItemBase item, UUID sessionID)
public bool UpdateItem(string id, InventoryItemBase item, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.UpdateItem(userID, item, sessionID);
return connector.UpdateItem(userID, item, sessionID); }
} return false;
return false; }
}
public bool DeleteItem(string id, InventoryItemBase item, UUID sessionID)
public bool DeleteItem(string id, InventoryItemBase item, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.UpdateItem(userID, item, sessionID);
return connector.UpdateItem(userID, item, sessionID); }
} return false;
return false; }
}
public InventoryItemBase QueryItem(string id, InventoryItemBase item, UUID sessionID)
public InventoryItemBase QueryItem(string id, InventoryItemBase item, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.QueryItem(userID, item, sessionID);
return connector.QueryItem(userID, item, sessionID); }
} return null;
return null; }
}
public InventoryFolderBase QueryFolder(string id, InventoryFolderBase folder, UUID sessionID)
public InventoryFolderBase QueryFolder(string id, InventoryFolderBase folder, UUID sessionID) {
{ string url = string.Empty;
string url = string.Empty; string userID = string.Empty;
string userID = string.Empty;
if (StringToUrlAndUserID(id, out url, out userID))
if (StringToUrlAndUserID(id, out url, out userID)) {
{ ISessionAuthInventoryService connector = GetConnector(url);
ISessionAuthInventoryService connector = GetConnector(url); return connector.QueryFolder(userID, folder, sessionID);
return connector.QueryFolder(userID, folder, sessionID); }
} return null;
return null; }
}
}
} }
}

View File

@ -17,8 +17,8 @@
[AssetService] [AssetService]
LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector" LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
HypergridAssetService = "OpenSim.Services.AssetService.dll:HGAssetService" HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
[InventoryService] [InventoryService]
LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteInventoryServicesConnector" LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteInventoryServicesConnector"
HypergridInventoryService = "OpenSim.Services.InventoryService.dll:HGInventoryService" HypergridInventoryService = "OpenSim.Services.Connectors.dll:HGInventoryServiceConnector"

View File

@ -20,7 +20,7 @@
; For HGAssetBroker ; For HGAssetBroker
LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService" LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService"
HypergridAssetService = "OpenSim.Services.AssetService.dll:HGAssetService" HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
[InventoryService] [InventoryService]
; For the InventoryServiceInConnector ; For the InventoryServiceInConnector
@ -28,4 +28,4 @@
; For HGInventoryBroker ; For HGInventoryBroker
LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:InventoryService" LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:InventoryService"
HypergridInventoryService = "OpenSim.Services.InventoryService.dll:HGInventoryService" HypergridInventoryService = "OpenSim.Services.Connectors.dll:HGInventoryServiceConnector"