public GroupInviteInfo GetAgentToGroupInvite(UUID requestingAgentID, UUID inviteID)
        {
            object remoteValue = DoRemote(requestingAgentID, inviteID);
            if (remoteValue != null || m_doRemoteOnly)
                return (GroupInviteInfo)remoteValue;

            GroupInviteInfo invite = new GroupInviteInfo();

            Dictionary<string, object> where = new Dictionary<string, object>(2);
            where["AgentID"] = requestingAgentID;
            where["InviteID"] = inviteID;

            List<string> groupInvite = data.Query(new[] { "*" }, "osgroupinvite", new QueryFilter
            {
                andFilters = where
            }, null, null, null);

            if (groupInvite.Count == 0)
            {
                return null;
            }
            invite.AgentID = UUID.Parse(groupInvite[3]);
            invite.GroupID = UUID.Parse(groupInvite[1]);
            invite.InviteID = UUID.Parse(groupInvite[0]);
            invite.RoleID = UUID.Parse(groupInvite[2]);
            invite.FromAgentName = groupInvite[5];

            return invite;
        }
        public GroupInviteInfo GetAgentToGroupInvite(UUID requestingAgentID, UUID inviteID)
        {
            Hashtable param = new Hashtable();
            param["InviteID"] = inviteID.ToString();

            Hashtable respData = XmlRpcCall(requestingAgentID, "groups.getAgentToGroupInvite", param);

            if (respData.Contains("error"))
            {
                return null;
            }

            GroupInviteInfo inviteInfo = new GroupInviteInfo
                                             {
                                                 InviteID = inviteID,
                                                 GroupID = UUID.Parse((string) respData["GroupID"]),
                                                 RoleID = UUID.Parse((string) respData["RoleID"]),
                                                 AgentID = UUID.Parse((string) respData["AgentID"])
                                             };

            return inviteInfo;
        }
        public GroupInviteInfo GetAgentToGroupInvite(UUID requestingAgentID, UUID inviteID)
        {
            Dictionary<string, object> sendData = new Dictionary<string, object>();

            sendData["METHOD"] = "GetAgentToGroupInvite";
            sendData["requestingAgentID"] = requestingAgentID;
            sendData["inviteID"] = inviteID;

            string reqString = WebUtils.BuildXmlResponse(sendData);

            try
            {
                List<string> m_ServerURIs =
                    m_registry.RequestModuleInterface<IConfigurationService>().FindValueOf(
                        requestingAgentID.ToString(), "RemoteServerURI", false);
                foreach (string m_ServerURI in m_ServerURIs)
                {
                    string reply = SynchronousRestFormsRequester.MakeRequest("POST",
                                                                             m_ServerURI,
                                                                             reqString);
                    if (reply != string.Empty)
                    {
                        Dictionary<string, object> replyData = WebUtils.ParseXmlResponse(reply);

                        if (replyData != null)
                        {
                            Dictionary<string, object>.ValueCollection replyvalues = replyData.Values;
                            GroupInviteInfo group = null;
#if (!ISWIN)
                            foreach (object replyvalue in replyvalues)
                            {
                                Dictionary<string, object> f = replyvalue as Dictionary<string, object>;
                                if (f != null)
                                {
                                    group = new GroupInviteInfo(f);
                                }
                            }
#else
                            foreach (Dictionary<string, object> f in replyvalues.OfType<Dictionary<string, object>>())
                            {
                                group = new GroupInviteInfo(f);
                            }
#endif
                            // Success
                            return group;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MainConsole.Instance.DebugFormat("[AuroraRemoteGroupsServiceConnector]: Exception when contacting server: {0}", e);
            }

            return null;
        }
        public GroupInviteInfo GetAgentToGroupInvite(UUID requestingAgentID, UUID inviteID)
        {
            if (m_debugEnabled)
                MainConsole.Instance.InfoFormat("[SIMIAN-GROUPS-CONNECTOR]  {0} called", MethodBase.GetCurrentMethod().Name);

            OSDMap GroupMemberInvite;
            UUID GroupID;
            if (
                !SimianGetFirstGenericEntry("GroupMemberInvite", inviteID.ToString(), out GroupID, out GroupMemberInvite))
            {
                return null;
            }

            GroupInviteInfo inviteInfo = new GroupInviteInfo
                                             {
                                                 InviteID = inviteID,
                                                 GroupID = GroupID,
                                                 AgentID = GroupMemberInvite["AgentID"].AsUUID(),
                                                 RoleID = GroupMemberInvite["RoleID"].AsUUID()
                                             };

            return inviteInfo;
        }