mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 10:15:33 +08:00
* Changed IPresenceService Logout, so that it takes a position and a lookat
* CommsManager.AvatarService rerouted
This commit is contained in:
@@ -1430,8 +1430,10 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||
private void establishAppearance(UUID dest, UUID srca)
|
||||
{
|
||||
m_log.DebugFormat("[RADMIN] Initializing inventory for {0} from {1}", dest, srca);
|
||||
|
||||
AvatarAppearance ava = m_app.CommunicationsManager.AvatarService.GetUserAppearance(srca);
|
||||
AvatarAppearance ava = null;
|
||||
AvatarData avatar = m_app.SceneManager.CurrentOrFirstScene.AvatarService.GetAvatar(srca);
|
||||
if (avatar != null)
|
||||
ava = avatar.ToAvatarAppearance();
|
||||
|
||||
// If the model has no associated appearance we're done.
|
||||
|
||||
@@ -1524,7 +1526,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||
throw new Exception("Unable to load both inventories");
|
||||
}
|
||||
|
||||
m_app.CommunicationsManager.AvatarService.UpdateUserAppearance(dest, ava);
|
||||
AvatarData adata = new AvatarData(ava);
|
||||
m_app.SceneManager.CurrentOrFirstScene.AvatarService.SetAvatar(dest, adata);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -1671,10 +1674,11 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||
iserv.GetUserInventory(ID, uic.callback);
|
||||
|
||||
// While the inventory is being fetched, setup for appearance processing
|
||||
if ((mava = m_app.CommunicationsManager.AvatarService.GetUserAppearance(ID)) == null)
|
||||
{
|
||||
AvatarData adata = m_app.SceneManager.CurrentOrFirstScene.AvatarService.GetAvatar(ID);
|
||||
if (adata != null)
|
||||
mava = adata.ToAvatarAppearance();
|
||||
else
|
||||
mava = new AvatarAppearance();
|
||||
}
|
||||
|
||||
{
|
||||
AvatarWearable[] wearables = mava.Wearables;
|
||||
@@ -1809,7 +1813,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||
m_log.DebugFormat("[RADMIN] Outfit {0} load completed", oname);
|
||||
} // foreach outfit
|
||||
m_log.DebugFormat("[RADMIN] Inventory update complete for {0}", name);
|
||||
m_app.CommunicationsManager.AvatarService.UpdateUserAppearance(ID, mava);
|
||||
AvatarData adata2 = new AvatarData(mava);
|
||||
m_app.SceneManager.CurrentOrFirstScene.AvatarService.SetAvatar(ID, adata2);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
@@ -36,7 +36,7 @@ using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Services.Interfaces;
|
||||
using IUserService = OpenSim.Framework.Communications.IUserService;
|
||||
using IAvatarService = OpenSim.Framework.Communications.IAvatarService;
|
||||
using IAvatarService = OpenSim.Services.Interfaces.IAvatarService;
|
||||
|
||||
namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
{
|
||||
@@ -93,11 +93,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
/// initializes.
|
||||
/// </summary>
|
||||
|
||||
internal static CommunicationsManager Comms
|
||||
{
|
||||
get { return main.CommunicationsManager; }
|
||||
}
|
||||
|
||||
internal static IInventoryService InventoryServices
|
||||
{
|
||||
get { return main.SceneManager.CurrentOrFirstScene.InventoryService; }
|
||||
@@ -115,7 +110,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
|
||||
internal static IAvatarService AvatarServices
|
||||
{
|
||||
get { return Comms.AvatarService; }
|
||||
get { return main.SceneManager.CurrentOrFirstScene.AvatarService; }
|
||||
}
|
||||
|
||||
internal static IAssetService AssetServices
|
||||
|
||||
@@ -32,6 +32,7 @@ using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
using OpenSim.Services.Interfaces;
|
||||
|
||||
namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
{
|
||||
@@ -295,15 +296,15 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
|
||||
private void DoGet(AppearanceRequestData rdata)
|
||||
{
|
||||
AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID);
|
||||
|
||||
rdata.userAppearance = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
|
||||
|
||||
if (rdata.userAppearance == null)
|
||||
if (adata == null)
|
||||
{
|
||||
rdata.Fail(Rest.HttpStatusCodeNoContent,
|
||||
String.Format("appearance data not found for user {0} {1}",
|
||||
rdata.userProfile.FirstName, rdata.userProfile.SurName));
|
||||
}
|
||||
rdata.userAppearance = adata.ToAvatarAppearance();
|
||||
|
||||
rdata.initXmlWriter();
|
||||
|
||||
@@ -342,18 +343,20 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
// increasingly doubtful that it is appropriate for REST. If I attempt to
|
||||
// add a new record, and it already exists, then it seems to me that the
|
||||
// attempt should fail, rather than update the existing record.
|
||||
|
||||
AvatarData adata = null;
|
||||
if (GetUserAppearance(rdata))
|
||||
{
|
||||
modified = rdata.userAppearance != null;
|
||||
created = !modified;
|
||||
Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
|
||||
adata = new AvatarData(rdata.userAppearance);
|
||||
Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
|
||||
// Rest.UserServices.UpdateUserProfile(rdata.userProfile);
|
||||
}
|
||||
else
|
||||
{
|
||||
created = true;
|
||||
Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
|
||||
adata = new AvatarData(rdata.userAppearance);
|
||||
Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
|
||||
// Rest.UserServices.UpdateUserProfile(rdata.userProfile);
|
||||
}
|
||||
|
||||
@@ -439,21 +442,22 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
|
||||
private void DoDelete(AppearanceRequestData rdata)
|
||||
{
|
||||
AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID);
|
||||
|
||||
AvatarAppearance old = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
|
||||
|
||||
if (old != null)
|
||||
if (adata != null)
|
||||
{
|
||||
AvatarAppearance old = adata.ToAvatarAppearance();
|
||||
rdata.userAppearance = new AvatarAppearance();
|
||||
|
||||
rdata.userAppearance.Owner = old.Owner;
|
||||
adata = new AvatarData(rdata.userAppearance);
|
||||
|
||||
Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
|
||||
Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
|
||||
|
||||
rdata.Complete();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
rdata.Complete(Rest.HttpStatusCodeNoContent);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user