From 5757afe7665543e8b3ed4a322a7d6e095dafcdb3 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 26 Sep 2009 07:48:21 -0700 Subject: First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. --- OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | 13 +++++++++---- .../Avatar/InstantMessage/MessageTransferModule.cs | 8 ++++++-- .../CoreModules/Avatar/InstantMessage/PresenceModule.cs | 6 +++++- 3 files changed, 20 insertions(+), 7 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 49b2b5c..dd9b318 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs @@ -40,6 +40,7 @@ using OpenSim.Framework.Communications.Cache; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; namespace OpenSim.Region.CoreModules.Avatar.Friends { @@ -108,7 +109,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends private Dictionary m_scenes = new Dictionary(); private IMessageTransferModule m_TransferModule = null; - private IGridServices m_gridServices = null; + private IGridService m_gridServices = null; #region IRegionModule Members @@ -142,7 +143,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends if (m_scenes.Count > 0) { m_TransferModule = m_initialScene.RequestModuleInterface(); - m_gridServices = m_initialScene.CommsManager.GridService; + m_gridServices = m_initialScene.GridService; } if (m_TransferModule == null) m_log.Error("[FRIENDS]: Unable to find a message transfer module, friendship offers will not work"); @@ -171,7 +172,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends List tpdAway = new List(); // destRegionHandle is a region on another server - RegionInfo info = m_gridServices.RequestNeighbourInfo(destRegionHandle); + uint x = 0, y = 0; + Utils.LongToUInts(destRegionHandle, out x, out y); + GridRegion info = m_gridServices.GetRegionByPosition(m_initialScene.RegionInfo.ScopeID, (int)x, (int)y); if (info != null) { string httpServer = "http://" + info.ExternalEndPoint.Address + ":" + info.HttpPort + "/presence_update_bulk"; @@ -223,7 +226,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends public bool TriggerTerminateFriend(ulong destRegionHandle, UUID agentID, UUID exFriendID) { // destRegionHandle is a region on another server - RegionInfo info = m_gridServices.RequestNeighbourInfo(destRegionHandle); + uint x = 0, y = 0; + Utils.LongToUInts(destRegionHandle, out x, out y); + GridRegion info = m_gridServices.GetRegionByPosition(m_initialScene.RegionInfo.ScopeID, (int)x, (int)y); if (info == null) { m_log.WarnFormat("[OGS1 GRID SERVICES]: Couldn't find region {0}", destRegionHandle); diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index 4495303..e5159b3 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs @@ -36,6 +36,7 @@ using OpenMetaverse; using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; namespace OpenSim.Region.CoreModules.Avatar.InstantMessage { @@ -497,7 +498,10 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage { if (upd.AgentOnline) { - RegionInfo reginfo = m_Scenes[0].SceneGridService.RequestNeighbouringRegionInfo(upd.Handle); + uint x = 0, y = 0; + Utils.LongToUInts(upd.Handle, out x, out y); + GridRegion reginfo = m_Scenes[0].GridService.GetRegionByPosition(m_Scenes[0].RegionInfo.ScopeID, + (int)x, (int)y); if (reginfo != null) { Hashtable msgdata = ConvertGridInstantMessageToXMLRPC(im); @@ -559,7 +563,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage /// RegionInfo we pull the data out of to send the request to /// The Instant Message data Hashtable /// Bool if the message was successfully delivered at the other side. - protected virtual bool doIMSending(RegionInfo reginfo, Hashtable xmlrpcdata) + protected virtual bool doIMSending(GridRegion reginfo, Hashtable xmlrpcdata) { ArrayList SendParams = new ArrayList(); diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index ebd9a72..6daab44 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs @@ -35,6 +35,7 @@ using OpenMetaverse; using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; namespace OpenSim.Region.CoreModules.Avatar.InstantMessage { @@ -171,7 +172,10 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage { // TODO this is the old messaging-server protocol; only the regionHandle is available. // Fetch region-info to get the id - RegionInfo regionInfo = m_initialScene.RequestNeighbouringRegionInfo(info.regionHandle); + uint x = 0, y = 0; + Utils.LongToUInts(info.regionHandle, out x, out y); + GridRegion regionInfo = m_initialScene.GridService.GetRegionByPosition(m_initialScene.RegionInfo.ScopeID, + (int)x, (int)y); regionID = regionInfo.RegionID; } result[indices[i]] = new PresenceInfo(uuids[i], regionID); -- cgit v1.1 From 632bb7126277b6e8b524b76fb181a079b51adcf4 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 26 Sep 2009 08:49:48 -0700 Subject: Fixed MapBlocks bug, wrong order of arguments. First version that seems completely functional. Also fixed the notification of the message server in standalone -- that server doesn't usually exist. --- .../CoreModules/Avatar/InstantMessage/PresenceModule.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index 6daab44..5a9b452 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs @@ -330,6 +330,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage private void NotifyMessageServerOfStartup(Scene scene) { + if (m_Scenes[0].CommsManager.NetworkServersInfo.MessagingURL == string.Empty) + return; + Hashtable xmlrpcdata = new Hashtable(); xmlrpcdata["RegionUUID"] = scene.RegionInfo.RegionID.ToString(); ArrayList SendParams = new ArrayList(); @@ -353,6 +356,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage private void NotifyMessageServerOfShutdown(Scene scene) { + if (m_Scenes[0].CommsManager.NetworkServersInfo.MessagingURL == string.Empty) + return; + Hashtable xmlrpcdata = new Hashtable(); xmlrpcdata["RegionUUID"] = scene.RegionInfo.RegionID.ToString(); ArrayList SendParams = new ArrayList(); @@ -376,6 +382,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage private void NotifyMessageServerOfAgentLocation(UUID agentID, UUID region, ulong regionHandle) { + if (m_Scenes[0].CommsManager.NetworkServersInfo.MessagingURL == string.Empty) + return; + Hashtable xmlrpcdata = new Hashtable(); xmlrpcdata["AgentID"] = agentID.ToString(); xmlrpcdata["RegionUUID"] = region.ToString(); @@ -401,6 +410,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage private void NotifyMessageServerOfAgentLeaving(UUID agentID, UUID region, ulong regionHandle) { + if (m_Scenes[0].CommsManager.NetworkServersInfo.MessagingURL == string.Empty) + return; + Hashtable xmlrpcdata = new Hashtable(); xmlrpcdata["AgentID"] = agentID.ToString(); xmlrpcdata["RegionUUID"] = region.ToString(); -- cgit v1.1 From e15a9b848413115644d3a6dd920e146b9589b639 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 27 Sep 2009 17:01:30 -0700 Subject: Fixed an issue with the PresenceModule in "gridmode", introduced by my fixing the notifications of the messaging service in standalone. --- OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs | 3 --- 1 file changed, 3 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index 5a9b452..ad05bab 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs @@ -330,9 +330,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage private void NotifyMessageServerOfStartup(Scene scene) { - if (m_Scenes[0].CommsManager.NetworkServersInfo.MessagingURL == string.Empty) - return; - Hashtable xmlrpcdata = new Hashtable(); xmlrpcdata["RegionUUID"] = scene.RegionInfo.RegionID.ToString(); ArrayList SendParams = new ArrayList(); -- cgit v1.1 From ee205e7e812e170f670e690a4e0fa9caa652f226 Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Thu, 1 Oct 2009 01:00:09 +0900 Subject: Formatting cleanup. --- .../Region/CoreModules/Avatar/Chat/ChatModule.cs | 2 +- .../CoreModules/Avatar/Dialog/DialogModule.cs | 22 +++++------ .../CoreModules/Avatar/Friends/FriendsModule.cs | 14 +++---- .../CoreModules/Avatar/Gestures/GesturesModule.cs | 2 +- .../Region/CoreModules/Avatar/Gods/GodsModule.cs | 6 +-- .../Avatar/InstantMessage/InstantMessageModule.cs | 2 +- .../Archiver/InventoryArchiveReadRequest.cs | 12 +++--- .../Inventory/Archiver/InventoryArchiveUtils.cs | 12 +++--- .../Archiver/InventoryArchiveWriteRequest.cs | 20 +++++----- .../Inventory/Archiver/InventoryArchiverModule.cs | 46 +++++++++++----------- .../Archiver/Tests/InventoryArchiverTests.cs | 36 ++++++++--------- .../Inventory/Transfer/InventoryTransferModule.cs | 12 +++--- 12 files changed, 93 insertions(+), 93 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index fcc2673..66a9b5a 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs @@ -114,7 +114,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat scene.EventManager.OnChatBroadcast -= OnChatBroadcast; m_scenes.Remove(scene); } - } + } } public virtual void Close() diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index 046fc4a..413c6e8 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs @@ -52,7 +52,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog this, "alert", "alert ", "Send an alert to a user", HandleAlertConsoleCommand); m_scene.AddCommand( - this, "alert general", "alert general ", "Send an alert to everyone", HandleAlertConsoleCommand); + this, "alert general", "alert general ", "Send an alert to everyone", HandleAlertConsoleCommand); } public void PostInitialise() {} @@ -63,7 +63,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog public void SendAlertToUser(IClientAPI client, string message) { SendAlertToUser(client, message, false); - } + } public void SendAlertToUser(IClientAPI client, string message, bool modal) { @@ -73,7 +73,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog public void SendAlertToUser(UUID agentID, string message) { SendAlertToUser(agentID, message, false); - } + } public void SendAlertToUser(UUID agentID, string message, bool modal) { @@ -81,7 +81,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog if (sp != null) sp.ControllingClient.SendAgentAlertMessage(message, modal); - } + } public void SendAlertToUser(string firstName, string lastName, string message, bool modal) { @@ -95,7 +95,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog break; } } - } + } public void SendGeneralAlert(string message) { @@ -106,7 +106,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog if (!presence.IsChildAgent) presence.ControllingClient.SendAlertMessage(message); } - } + } public void SendDialogToUser( UUID avatarID, string objectName, UUID objectID, UUID ownerID, @@ -135,9 +135,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog { ScenePresence sp = m_scene.GetScenePresence(avatarID); - if (sp != null) + if (sp != null) sp.ControllingClient.SendLoadURL(objectName, objectID, ownerID, groupOwned, message, url); - } + } public void SendNotificationToUsersInEstate( UUID fromAvatarID, string fromAvatarName, string message) @@ -145,11 +145,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog // TODO: This does not yet do what it says on the tin - it only sends the message to users in the same // region as the sending avatar. SendNotificationToUsersInRegion(fromAvatarID, fromAvatarName, message); - } + } public void SendNotificationToUsersInRegion( UUID fromAvatarID, string fromAvatarName, string message) - { + { List presenceList = m_scene.GetScenePresences(); foreach (ScenePresence presence in presenceList) @@ -199,6 +199,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog } return result; - } + } } } diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index dd9b318..fc7d63a 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs @@ -497,7 +497,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends { m_log.ErrorFormat("[FRIENDS]: No user found for id {0} in OfferFriendship()", fromUserId); } - } + } #region FriendRequestHandling @@ -508,7 +508,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends if (im.dialog == (byte)InstantMessageDialog.FriendshipOffered) // 38 { - // fromAgentName is the *destination* name (the friend we offer friendship to) + // fromAgentName is the *destination* name (the friend we offer friendship to) ScenePresence initiator = GetAnyPresenceFromAgentID(new UUID(im.fromAgentID)); im.fromAgentName = initiator != null ? initiator.Name : "(hippo)"; @@ -528,13 +528,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends /// Invoked when a user offers a friendship. /// /// - /// + /// /// private void FriendshipOffered(GridInstantMessage im) { // this is triggered by the initiating agent: // A local agent offers friendship to some possibly remote friend. - // A IM is triggered, processed here and sent to the friend (possibly in a remote region). + // A IM is triggered, processed here and sent to the friend (possibly in a remote region). m_log.DebugFormat("[FRIEND]: Offer(38) - From: {0}, FromName: {1} To: {2}, Session: {3}, Message: {4}, Offline {5}", im.fromAgentID, im.fromAgentName, im.toAgentID, im.imSessionID, im.message, im.offline); @@ -559,7 +559,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends m_log.DebugFormat("[FRIEND]: sending IM success = {0}", success); } ); - } + } } /// @@ -570,7 +570,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends private void FriendshipAccepted(IClientAPI client, GridInstantMessage im) { m_log.DebugFormat("[FRIEND]: 39 - from client {0}, agent {2} {3}, imsession {4} to {5}: {6} (dialog {7})", - client.AgentId, im.fromAgentID, im.fromAgentName, im.imSessionID, im.toAgentID, im.message, im.dialog); + client.AgentId, im.fromAgentID, im.fromAgentName, im.imSessionID, im.toAgentID, im.message, im.dialog); } /// @@ -602,7 +602,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends delegate(bool success) { m_log.DebugFormat("[FRIEND]: sending IM success = {0}", success); } - ); + ); } private void OnGridInstantMessage(GridInstantMessage msg) diff --git a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs index ff12361..8ce5092 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs @@ -91,6 +91,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures else m_log.ErrorFormat( "[GESTURES]: Unable to find gesture to deactivate {0} for {1}", gestureId, client.Name); - } + } } } \ No newline at end of file diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs index 8926527..f941728 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs @@ -43,7 +43,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods { m_scene = scene; m_dialogModule = m_scene.RequestModuleInterface(); - m_scene.RegisterModuleInterface(this); + m_scene.RegisterModuleInterface(this); } public void PostInitialise() {} @@ -84,7 +84,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods m_dialogModule.SendAlertToUser(agentID, "Request for god powers denied"); } } - } + } /// /// Kicks User specified from the simulator. This logs them off of the grid @@ -142,7 +142,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods } } else - { + { m_dialogModule.SendAlertToUser(godID, "Kick request denied"); } } diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs index 66f1e14..9a68749 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs @@ -38,7 +38,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage { public class InstantMessageModule : IRegionModule { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); /// /// Is this module enabled? diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs index 907e2d4..f761bf0 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs @@ -59,7 +59,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// /// We only use this to request modules /// - protected Scene m_scene; + protected Scene m_scene; /// /// The stream from which the inventory archive will be loaded. @@ -186,7 +186,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver item.Folder = foundFolder.ID; //m_userInfo.AddItem(item); - m_scene.InventoryService.AddItem(item); + m_scene.InventoryService.AddItem(item); successfulItemRestores++; // If we're loading an item directly into the given destination folder then we need to record @@ -299,14 +299,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver = new InventoryFolderBase( newFolderId, newFolderName, m_userInfo.UserProfile.ID, (short)AssetType.Unknown, destFolder.ID, 1); - m_scene.InventoryService.AddFolder(destFolder); + m_scene.InventoryService.AddFolder(destFolder); // UUID newFolderId = UUID.Random(); // m_scene.InventoryService.AddFolder( // m_userInfo.CreateFolder( // folderName, newFolderId, (ushort)AssetType.Folder, foundFolder.ID); -// m_log.DebugFormat("[INVENTORY ARCHIVER]: Retrieving newly created folder {0}", folderName); +// m_log.DebugFormat("[INVENTORY ARCHIVER]: Retrieving newly created folder {0}", folderName); // foundFolder = foundFolder.GetChildFolder(newFolderId); // m_log.DebugFormat( // "[INVENTORY ARCHIVER]: Retrieved newly created folder {0} with ID {1}", @@ -321,7 +321,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver nodesLoaded.Add(destFolder); i++; - } + } return destFolder; @@ -357,7 +357,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver rawFolders[i++], newFolderId, (ushort)AssetType.Folder, foundFolder.ID); foundFolder = foundFolder.GetChildFolder(newFolderId); } - */ + */ } /// diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs index 5ebf2fa..a73f868 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs @@ -42,7 +42,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// /// Find a folder given a PATH_DELIMITER delimited path starting from a user's root folder - /// + /// /// /// This method does not handle paths that contain multiple delimitors /// @@ -71,11 +71,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver return null; return FindFolderByPath(inventoryService, rootFolder, path); - } + } /// /// Find a folder given a PATH_DELIMITER delimited path starting from this folder - /// + /// /// /// This method does not handle paths that contain multiple delimitors /// @@ -154,7 +154,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver return null; return FindItemByPath(inventoryService, rootFolder, path); - } + } /// /// Find an item given a PATH_DELIMITOR delimited path starting from this folder. @@ -194,7 +194,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver } else { - InventoryCollection contents = inventoryService.GetFolderContent(startFolder.Owner, startFolder.ID); + InventoryCollection contents = inventoryService.GetFolderContent(startFolder.Owner, startFolder.ID); foreach (InventoryFolderBase folder in contents.Folders) { @@ -205,6 +205,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver // We didn't find an item or intermediate folder with the given name return null; - } + } } } \ No newline at end of file diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index c6ebb24..499c552 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -55,7 +55,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver private InventoryArchiverModule m_module; private CachedUserInfo m_userInfo; - private string m_invPath; + private string m_invPath; protected TarArchiveWriter m_archiveWriter; protected UuidGatherer m_assetGatherer; @@ -168,7 +168,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver { path += CreateArchiveFolderName(inventoryFolder); - // We need to make sure that we record empty folders + // We need to make sure that we record empty folders m_archiveWriter.WriteDir(path); } @@ -262,7 +262,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver if (maxComponentIndex >= 0 && components[maxComponentIndex] == STAR_WILDCARD) { foundStar = true; - maxComponentIndex--; + maxComponentIndex--; } m_invPath = String.Empty; @@ -369,8 +369,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// public static string CreateArchiveFolderName(InventoryFolderBase folder) { - return CreateArchiveFolderName(folder.Name, folder.ID); - } + return CreateArchiveFolderName(folder.Name, folder.ID); + } /// /// Create the archive name for a particular item. @@ -383,7 +383,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// public static string CreateArchiveItemName(InventoryItemBase item) { - return CreateArchiveItemName(item.Name, item.ID); + return CreateArchiveItemName(item.Name, item.ID); } /// @@ -398,7 +398,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver "{0}{1}{2}/", name, ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, - id); + id); } /// @@ -406,14 +406,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// /// /// - /// + /// public static string CreateArchiveItemName(string name, UUID id) { return string.Format( "{0}{1}{2}.xml", name, ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR, - id); + id); } /// @@ -438,6 +438,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver sw.Close(); return s; - } + } } } \ No newline at end of file diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs index 55dce05..1228eb1 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs @@ -40,12 +40,12 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver -{ +{ /// /// This module loads and saves OpenSimulator inventory archives - /// + /// public class InventoryArchiverModule : IRegionModule, IInventoryArchiverModule - { + { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public string Name { get { return "Inventory Archiver Module"; } } @@ -57,7 +57,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// public bool DisablePresenceChecks { get; set; } - public event InventoryArchiveSaved OnInventoryArchiveSaved; + public event InventoryArchiveSaved OnInventoryArchiveSaved; /// /// The file to load and save inventory if no filename has been specified @@ -83,7 +83,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver } public void Initialise(Scene scene, IConfigSource source) - { + { if (m_scenes.Count == 0) { scene.RegisterModuleInterface(this); @@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver m_aScene = scene; } - m_scenes[scene.RegionInfo.RegionID] = scene; + m_scenes[scene.RegionInfo.RegionID] = scene; } public void PostInitialise() {} @@ -119,7 +119,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver InventoryArchiveSaved handlerInventoryArchiveSaved = OnInventoryArchiveSaved; if (handlerInventoryArchiveSaved != null) handlerInventoryArchiveSaved(id, succeeded, userInfo, invPath, saveStream, reportedException); - } + } public bool ArchiveInventory(Guid id, string firstName, string lastName, string invPath, string pass, Stream saveStream) { @@ -174,7 +174,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver public bool DearchiveInventory(string firstName, string lastName, string invPath, string pass, Stream loadStream) { if (m_scenes.Count > 0) - { + { CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass); if (userInfo != null) @@ -182,7 +182,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver if (CheckPresence(userInfo.UserProfile.ID)) { InventoryArchiveReadRequest request = - new InventoryArchiveReadRequest(m_aScene, userInfo, invPath, loadStream); + new InventoryArchiveReadRequest(m_aScene, userInfo, invPath, loadStream); UpdateClientWithLoadedNodes(userInfo, request.Execute()); return true; @@ -197,12 +197,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver } return false; - } + } public bool DearchiveInventory(string firstName, string lastName, string invPath, string pass, string loadPath) { if (m_scenes.Count > 0) - { + { CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass); if (userInfo != null) @@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver if (CheckPresence(userInfo.UserProfile.ID)) { InventoryArchiveReadRequest request = - new InventoryArchiveReadRequest(m_aScene, userInfo, invPath, loadPath); + new InventoryArchiveReadRequest(m_aScene, userInfo, invPath, loadPath); UpdateClientWithLoadedNodes(userInfo, request.Execute()); return true; @@ -221,11 +221,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver "[INVENTORY ARCHIVER]: User {0} {1} not logged in to this region simulator", userInfo.UserProfile.Name, userInfo.UserProfile.ID); } - } + } } return false; - } + } /// /// Load inventory from an inventory file archive @@ -252,7 +252,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver "[INVENTORY ARCHIVER]: Loading archive {0} to inventory path {1} for {2} {3}", loadPath, invPath, firstName, lastName); - if (DearchiveInventory(firstName, lastName, invPath, pass, loadPath)) + if (DearchiveInventory(firstName, lastName, invPath, pass, loadPath)) m_log.InfoFormat( "[INVENTORY ARCHIVER]: Loaded archive {0} for {1} {2}", loadPath, firstName, lastName); @@ -288,7 +288,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver lock (m_pendingConsoleSaves) m_pendingConsoleSaves.Add(id); - } + } private void SaveInvConsoleCommandCompleted( Guid id, bool succeeded, CachedUserInfo userInfo, string invPath, Stream saveStream, @@ -322,7 +322,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// User password /// protected CachedUserInfo GetUserInfo(string firstName, string lastName, string pass) - { + { CachedUserInfo userInfo = m_aScene.CommsManager.UserProfileCacheService.GetUserDetails(firstName, lastName); //m_aScene.CommsManager.UserService.GetUserProfile(firstName, lastName); if (null == userInfo) @@ -334,7 +334,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver } try - { + { if (m_aScene.CommsManager.UserService.AuthenticateUserByPassword(userInfo.UserProfile.ID, pass)) { return userInfo; @@ -343,7 +343,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver { m_log.ErrorFormat( "[INVENTORY ARCHIVER]: Password for user {0} {1} incorrect. Please try again.", - firstName, lastName); + firstName, lastName); return null; } } @@ -359,7 +359,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// /// Can be empty. In which case, nothing happens private void UpdateClientWithLoadedNodes(CachedUserInfo userInfo, List loadedNodes) - { + { if (loadedNodes.Count == 0) return; @@ -368,7 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver ScenePresence user = scene.GetScenePresence(userInfo.UserProfile.ID); if (user != null && !user.IsChildAgent) - { + { foreach (InventoryNodeBase node in loadedNodes) { // m_log.DebugFormat( @@ -379,8 +379,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver } break; - } - } + } + } } /// diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs index ed293cd..b0fdcd6 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs @@ -37,7 +37,7 @@ using OpenMetaverse; using OpenSim.Data; using OpenSim.Framework; using OpenSim.Framework.Serialization; -using OpenSim.Framework.Serialization.External; +using OpenSim.Framework.Serialization.External; using OpenSim.Framework.Communications; using OpenSim.Framework.Communications.Cache; using OpenSim.Framework.Communications.Osp; @@ -70,7 +70,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Exception reportedException) { mre.Set(); - } + } /// /// Test saving a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet). @@ -157,7 +157,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests string expectedObject1FilePath = string.Format( "{0}{1}{2}", ArchiveConstants.INVENTORY_PATH, - InventoryArchiveWriteRequest.CreateArchiveFolderName(objsFolder), + InventoryArchiveWriteRequest.CreateArchiveFolderName(objsFolder), expectedObject1FileName); string filePath; @@ -195,7 +195,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(gotObject1File, Is.True, "No item1 file in archive"); // Assert.That(gotObject2File, Is.True, "No object2 file in archive"); - // TODO: Test presence of more files and contents of files. + // TODO: Test presence of more files and contents of files. } /// @@ -206,7 +206,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests /// This test also does some deeper probing of loading into nested inventory structures [Test] public void TestLoadIarV0_1ExistingUsers() - { + { TestHelper.InMethod(); //log4net.Config.XmlConfigurator.Configure(); @@ -238,7 +238,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests tar.WriteFile(item1FileName, UserInventoryItemSerializer.Serialize(item1)); tar.Close(); - MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); + MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); SerialiserModule serialiserModule = new SerialiserModule(); InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); @@ -271,9 +271,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(foundItem1.Owner, Is.EqualTo(userUuid), "Loaded item owner doesn't match inventory reciever"); - // Now try loading to a root child folder + // Now try loading to a root child folder UserInventoryTestUtils.CreateInventoryFolder(scene.InventoryService, userInfo.UserProfile.ID, "xA"); - archiveReadStream = new MemoryStream(archiveReadStream.ToArray()); + archiveReadStream = new MemoryStream(archiveReadStream.ToArray()); archiverModule.DearchiveInventory(userFirstName, userLastName, "xA", "meowfood", archiveReadStream); InventoryItemBase foundItem2 @@ -282,12 +282,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests // Now try loading to a more deeply nested folder UserInventoryTestUtils.CreateInventoryFolder(scene.InventoryService, userInfo.UserProfile.ID, "xB/xC"); - archiveReadStream = new MemoryStream(archiveReadStream.ToArray()); + archiveReadStream = new MemoryStream(archiveReadStream.ToArray()); archiverModule.DearchiveInventory(userFirstName, userLastName, "xB/xC", "meowfood", archiveReadStream); InventoryItemBase foundItem3 = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, userInfo.UserProfile.ID, "xB/xC/" + itemName); - Assert.That(foundItem3, Is.Not.Null, "Didn't find loaded item 3"); + Assert.That(foundItem3, Is.Not.Null, "Didn't find loaded item 3"); } /// @@ -299,7 +299,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests /// (as tested in the a later commented out test) [Test] public void TestLoadIarV0_1AbsentUsers() - { + { TestHelper.InMethod(); log4net.Config.XmlConfigurator.Configure(); @@ -331,7 +331,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests tar.WriteFile(item1FileName, UserInventoryItemSerializer.Serialize(item1)); tar.Close(); - MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); + MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); SerialiserModule serialiserModule = new SerialiserModule(); InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); @@ -357,8 +357,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests // "Loaded item non-uuid creator doesn't match that of the loading user"); Assert.That( foundItem1.CreatorIdAsUuid, Is.EqualTo(userUuid), - "Loaded item uuid creator doesn't match that of the loading user"); - } + "Loaded item uuid creator doesn't match that of the loading user"); + } /// /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where @@ -367,7 +367,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests /// Disabled since temporary profiles have not yet been implemented. //[Test] public void TestLoadIarV0_1TempProfiles() - { + { TestHelper.InMethod(); log4net.Config.XmlConfigurator.Configure(); @@ -396,7 +396,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests tar.WriteFile(item1FileName, UserInventoryItemSerializer.Serialize(item1)); tar.Close(); - MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); + MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); SerialiserModule serialiserModule = new SerialiserModule(); InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); @@ -436,7 +436,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(foundItem.Owner, Is.EqualTo(userUuid)); Console.WriteLine("### Successfully completed {0} ###", MethodBase.GetCurrentMethod()); - } + } /// /// Test replication of an archive path to the user's inventory. @@ -474,7 +474,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests string itemArchivePath = string.Format( "{0}{1}{2}{3}", - ArchiveConstants.INVENTORY_PATH, folder1ArchiveName, folder2ArchiveName, itemArchiveName); + ArchiveConstants.INVENTORY_PATH, folder1ArchiveName, folder2ArchiveName, itemArchiveName); //Console.WriteLine("userInfo.RootFolder 2: {0}", userInfo.RootFolder); diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index 75976e2..734230c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs @@ -172,9 +172,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer Array.Copy(copyIDBytes, 0, im.binaryBucket, 1, copyIDBytes.Length); if (user != null && !user.IsChildAgent) - { + { user.ControllingClient.SendBulkUpdateInventory(folderCopy); - } + } } else { @@ -199,10 +199,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer } copyID = itemCopy.ID; - Array.Copy(copyID.GetBytes(), 0, im.binaryBucket, 1, 16); + Array.Copy(copyID.GetBytes(), 0, im.binaryBucket, 1, 16); if (user != null && !user.IsChildAgent) - { + { user.ControllingClient.SendBulkUpdateInventory(itemCopy); } } @@ -241,7 +241,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer } } else if (im.dialog == (byte) InstantMessageDialog.InventoryDeclined) - { + { // Here, the recipient is local and we can assume that the // inventory is loaded. Courtesy of the above bulk update, // It will have been pushed to the client, too @@ -284,7 +284,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer } if ((null == item && null == folder) | null == trashFolder) - { + { string reason = String.Empty; if (trashFolder == null) -- cgit v1.1 From 606e831ff5337fb5e94dcebf9d6852bd4c434d4b Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Thu, 1 Oct 2009 09:38:36 +0900 Subject: Formatting cleanup. --- OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs | 2 +- .../CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs | 4 ++-- .../CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index 413c6e8..ebebaf9 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs @@ -185,7 +185,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog m_log.InfoFormat( "[DIALOG]: Sending alert in region {0} to {1} {2} with message {3}", - m_scene.RegionInfo.RegionName, firstName, lastName, message); + m_scene.RegionInfo.RegionName, firstName, lastName, message); SendAlertToUser(firstName, lastName, message, false); } } diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs index a73f868..a822d10 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs @@ -58,7 +58,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// User id to search /// /// - /// The path to the required folder. + /// The path to the required folder. /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. /// /// null if the folder is not found @@ -91,7 +91,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// The folder from which the path starts /// /// - /// The path to the required folder. + /// The path to the required folder. /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. /// /// null if the folder is not found diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index 734230c..d9a021f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs @@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer byte[] copyIDBytes = copyID.GetBytes(); im.binaryBucket = new byte[1 + copyIDBytes.Length]; im.binaryBucket[0] = (byte)AssetType.Folder; - Array.Copy(copyIDBytes, 0, im.binaryBucket, 1, copyIDBytes.Length); + Array.Copy(copyIDBytes, 0, im.binaryBucket, 1, copyIDBytes.Length); if (user != null && !user.IsChildAgent) { -- cgit v1.1