public virtual bool Enqueue(string o, UUID agentID, ulong regionHandle)
        {
            object remoteValue = DoRemote(o, agentID, regionHandle);

            if (remoteValue != null || m_doRemoteOnly)
            {
                return(remoteValue == null ? false : (bool)remoteValue);
            }

            //Find the CapsService for the user and enqueue the event
            IRegionClientCapsService service = GetRegionClientCapsService(agentID, regionHandle);

            if (service == null)
            {
                return(false);
            }
            RegionClientEventQueueService eventQueueService = service.GetServiceConnectors().
                                                              OfType <RegionClientEventQueueService>().FirstOrDefault();

            if (eventQueueService == null)
            {
                return(false);
            }

            OSD ev = OSDParser.DeserializeLLSDXml(o);

            return(eventQueueService.Enqueue(ev));
        }
示例#2
0
        public virtual bool Enqueue(OSD o, UUID agentID, ulong regionHandle)
        {
            //Find the CapsService for the user and enqueue the event
            IRegionClientCapsService service = GetRegionClientCapsService(agentID, regionHandle);

            if (service == null)
            {
                return(false);
            }
            RegionClientEventQueueService eventQueueService = FindEventQueueConnector(service);

            if (eventQueueService == null)
            {
                return(false);
            }

            return(eventQueueService.Enqueue(o));
        }