OpenSim.Region.CoreModules.Agent.Capabilities.CapabilitiesModule.AddCapsHandler C# (CSharp) Méthode

AddCapsHandler() public méthode

public AddCapsHandler ( UUID agentId ) : void
agentId UUID
Résultat void
        public void AddCapsHandler(UUID agentId)
        {
            if (m_scene.RegionInfo.EstateSettings.IsBanned(agentId))
                return;

            String capsObjectPath = GetCapsPath(agentId);

            if (m_capsHandlers.ContainsKey(agentId))
            {
                Caps oldCaps = m_capsHandlers[agentId];
                
                m_log.DebugFormat(
                    "[CAPS]: Reregistering caps for agent {0}.  Old caps path {1}, new caps path {2}. ", 
                    agentId, oldCaps.CapsObjectPath, capsObjectPath);
                // This should not happen. The caller code is confused. We need to fix that.
                // CAPs can never be reregistered, or the client will be confused.
                // Hence this return here.
                //return;
            }

            Caps caps
                = new Caps(m_scene,
                    m_scene.AssetService, MainServer.Instance, m_scene.RegionInfo.ExternalHostName,
                    (MainServer.Instance == null) ? 0: MainServer.Instance.Port,
                    capsObjectPath, agentId, m_scene.DumpAssetsToFile, m_scene.RegionInfo.RegionName);

            caps.RegisterHandlers();

            m_scene.EventManager.TriggerOnRegisterCaps(agentId, caps);

            caps.AddNewInventoryItem = m_scene.AddUploadedInventoryItem;
            caps.ItemUpdatedCall = m_scene.CapsUpdateInventoryItemAsset;
            caps.TaskScriptUpdatedCall = m_scene.CapsUpdateTaskInventoryScriptAsset;
            caps.CAPSFetchInventoryDescendents = m_scene.HandleFetchInventoryDescendentsCAPS;
            caps.GetClient = m_scene.SceneContents.GetControllingClient;

            m_capsHandlers[agentId] = caps;
        }