OpenSim.Region.CoreModules.Avatar.Friends.FriendsModule.LocalFriendshipOffered C# (CSharp) Method

LocalFriendshipOffered() public method

public LocalFriendshipOffered ( UUID toID, OpenSim.Framework.GridInstantMessage im ) : bool
toID UUID
im OpenSim.Framework.GridInstantMessage
return bool
        public bool LocalFriendshipOffered(UUID toID, GridInstantMessage im)
        {
            IClientAPI friendClient = LocateClientObject(toID);
            if (friendClient != null)
            {
                // the prospective friend in this sim as root agent
                friendClient.SendInstantMessage(im);
                // we're done
                return true;
            }
            return false;
        }

Usage Example

Example #1
0
        byte[] FriendshipOffered(Dictionary <string, object> request)
        {
            UUID   fromID  = UUID.Zero;
            UUID   toID    = UUID.Zero;
            string message = string.Empty;

            if (!request.ContainsKey("FromID") || !request.ContainsKey("ToID"))
            {
                return(FailureResult());
            }

            message = request["Message"].ToString();

            if (!UUID.TryParse(request["FromID"].ToString(), out fromID))
            {
                return(FailureResult());
            }

            if (!UUID.TryParse(request["ToID"].ToString(), out toID))
            {
                return(FailureResult());
            }

            UserAccount account = m_FriendsModule.UserAccountService.GetUserAccount(UUID.Zero, fromID);
            string      name    = (account == null) ? "Unknown" : account.FirstName + " " + account.LastName;

            GridInstantMessage im = new GridInstantMessage(m_FriendsModule.Scene, fromID, name, toID,
                                                           (byte)InstantMessageDialog.FriendshipOffered, message, false, Vector3.Zero);

            // !! HACK
            im.imSessionID = im.fromAgentID;

            if (m_FriendsModule.LocalFriendshipOffered(toID, im))
            {
                return(SuccessResult());
            }

            return(FailureResult());
        }