* Fixed References in Prebuild so the project compiles
* Added Friends List methods to IUserData interface * Created Stub friendslist Database Methodsafrisby
parent
5b8620d82f
commit
57a1132585
|
@ -133,6 +133,31 @@ namespace OpenSim.Framework.Data.DB4o
|
|||
}
|
||||
}
|
||||
|
||||
#region User Friends List Data
|
||||
|
||||
public void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
//MainLog.Instance.Verbose("FRIEND", "Stub AddNewUserFriend called");
|
||||
}
|
||||
|
||||
public void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend)
|
||||
{
|
||||
//MainLog.Instance.Verbose("FRIEND", "Stub RemoveUserFriend called");
|
||||
}
|
||||
public void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
//MainLog.Instance.Verbose("FRIEND", "Stub UpdateUserFriendPerms called");
|
||||
}
|
||||
|
||||
|
||||
public List<FriendListItem> GetUserFriendList(LLUUID friendlistowner)
|
||||
{
|
||||
//MainLog.Instance.Verbose("FRIEND", "Stub GetUserFriendList called");
|
||||
return new List<FriendListItem>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
|
||||
{
|
||||
//Do nothing yet
|
||||
|
|
|
@ -99,6 +99,31 @@ namespace OpenSim.Framework.Data.MSSQL
|
|||
}
|
||||
}
|
||||
|
||||
#region User Friends List Data
|
||||
|
||||
public void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub AddNewUserFriend called");
|
||||
}
|
||||
|
||||
public void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub RemoveUserFriend called");
|
||||
}
|
||||
public void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub UpdateUserFriendPerms called");
|
||||
}
|
||||
|
||||
|
||||
public List<FriendListItem> GetUserFriendList(LLUUID friendlistowner)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub GetUserFriendList called");
|
||||
return new List<FriendListItem>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
|
||||
{
|
||||
List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
|
||||
|
|
|
@ -145,6 +145,31 @@ namespace OpenSim.Framework.Data.MySQL
|
|||
}
|
||||
}
|
||||
|
||||
#region User Friends List Data
|
||||
|
||||
public void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub AddNewUserFriend called");
|
||||
}
|
||||
|
||||
public void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub RemoveUserFriend called");
|
||||
}
|
||||
public void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub UpdateUserFriendPerms called");
|
||||
}
|
||||
|
||||
|
||||
public List<FriendListItem> GetUserFriendList(LLUUID friendlistowner)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub GetUserFriendList called");
|
||||
return new List<FriendListItem>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
|
||||
{
|
||||
List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
|
||||
|
|
|
@ -117,6 +117,31 @@ namespace OpenSim.Framework.Data.SQLite
|
|||
}
|
||||
}
|
||||
|
||||
#region User Friends List Data
|
||||
|
||||
public void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub AddNewUserFriend called");
|
||||
}
|
||||
|
||||
public void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub RemoveUserFriend called");
|
||||
}
|
||||
public void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub UpdateUserFriendPerms called");
|
||||
}
|
||||
|
||||
|
||||
public List<FriendListItem> GetUserFriendList(LLUUID friendlistowner)
|
||||
{
|
||||
MainLog.Instance.Verbose("FRIEND", "Stub GetUserFriendList called");
|
||||
return new List<FriendListItem>();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
|
||||
{
|
||||
List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of the OpenSim Project nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using libsecondlife;
|
||||
|
||||
namespace OpenSim.Framework
|
||||
{
|
||||
public class FriendListItem
|
||||
{
|
||||
public LLUUID FriendListOwner;
|
||||
public LLUUID Friend;
|
||||
|
||||
// These are what the list owner gives the friend permission to do
|
||||
public uint FriendPerms;
|
||||
|
||||
// These are what the friend gives the listowner permission to do
|
||||
public uint FriendListOwnerPerms;
|
||||
|
||||
}
|
||||
}
|
|
@ -50,6 +50,12 @@ namespace OpenSim.Framework
|
|||
/// <returns>The user data profile</returns>
|
||||
UserProfileData GetUserByName(string fname, string lname);
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of UUIDs firstnames and lastnames that match string query entered into the avatar picker.
|
||||
/// </summary>
|
||||
/// <param name="queryID">ID associated with the user's query. This must match what the client sent</param>
|
||||
/// <param name="query">The filtered contents of the search box when the user hit search.</param>
|
||||
/// <returns>The user data profile</returns>
|
||||
List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query);
|
||||
|
||||
/// <summary>
|
||||
|
@ -92,6 +98,34 @@ namespace OpenSim.Framework
|
|||
/// <param name="agent">The agent to add</param>
|
||||
void AddNewUserAgent(UserAgentData agent);
|
||||
|
||||
/// <summary>
|
||||
/// Adds a new friend to the database for XUser
|
||||
/// </summary>
|
||||
/// <param name="friendlistowner">The agent that who's friends list is being added to</param>
|
||||
/// <param name="friend">The agent that being added to the friends list of the friends list owner</param>
|
||||
/// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param>
|
||||
void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms);
|
||||
|
||||
/// <summary>
|
||||
/// Delete friend on friendlistowner's friendlist.
|
||||
/// </summary>
|
||||
/// <param name="friendlistowner">The agent that who's friends list is being updated</param>
|
||||
/// <param name="friend">The Ex-friend agent</param>
|
||||
void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend);
|
||||
|
||||
/// <summary>
|
||||
/// Update permissions for friend on friendlistowner's friendlist.
|
||||
/// </summary>
|
||||
/// <param name="friendlistowner">The agent that who's friends list is being updated</param>
|
||||
/// <param name="friend">The agent that is getting or loosing permissions</param>
|
||||
/// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param>
|
||||
void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms);
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for LLUUID friendslistowner
|
||||
/// </summary>
|
||||
/// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param>
|
||||
List<FriendListItem> GetUserFriendList(LLUUID friendlistowner);
|
||||
/// <summary>
|
||||
/// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
|
||||
/// </summary>
|
||||
|
|
|
@ -27,24 +27,61 @@
|
|||
*/
|
||||
|
||||
using Nini.Config;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using libsecondlife;
|
||||
using libsecondlife.Packets;
|
||||
|
||||
namespace OpenSim.Region.Environment.Modules
|
||||
{
|
||||
public class FriendsModule : IRegionModule
|
||||
{
|
||||
private Scene m_scene;
|
||||
private List<Scene> m_scenes = new List<Scene>();
|
||||
private LogBase m_log;
|
||||
|
||||
public void Initialise(Scene scene, IConfigSource config)
|
||||
{
|
||||
m_scene = scene;
|
||||
m_log = MainLog.Instance;
|
||||
if (!m_scenes.Contains(scene))
|
||||
{
|
||||
m_scenes.Add(scene);
|
||||
scene.EventManager.OnNewClient += OnNewClient;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnNewClient(IClientAPI client)
|
||||
{
|
||||
FormFriendship(client,new Guid("c43a67ab-b196-4d62-936c-b40369547dee"));
|
||||
FormFriendship(client, new Guid("0a2f777b-f44c-4662-8b22-c90ae038a3e6"));
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
{
|
||||
}
|
||||
|
||||
private void FormFriendship(IClientAPI client, Guid friend)
|
||||
{
|
||||
foreach (Scene scene in m_scenes)
|
||||
{
|
||||
if (scene.Entities.ContainsKey(client.AgentId) && scene.Entities[client.AgentId] is ScenePresence)
|
||||
{
|
||||
OnlineNotificationPacket ONPack = new OnlineNotificationPacket();
|
||||
OnlineNotificationPacket.AgentBlockBlock[] AgentBlock = new OnlineNotificationPacket.AgentBlockBlock[1];
|
||||
|
||||
AgentBlock[0] = new OnlineNotificationPacket.AgentBlockBlock();
|
||||
AgentBlock[0].AgentID = new LLUUID(friend);
|
||||
ONPack.AgentBlock = AgentBlock;
|
||||
client.OutPacket(ONPack,ThrottleOutPacketType.Task);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
}
|
||||
|
@ -56,7 +93,7 @@ namespace OpenSim.Region.Environment.Modules
|
|||
|
||||
public bool IsSharedModule
|
||||
{
|
||||
get { return false; }
|
||||
get { return true; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -29,6 +29,8 @@
|
|||
using System;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Grid.ScriptServer;
|
||||
using OpenSim.Region.ScriptEngine.DotNetEngine;
|
||||
|
||||
namespace OpenSim.Region.ScriptEngine.RemoteServer
|
||||
{
|
||||
|
@ -39,7 +41,7 @@ namespace OpenSim.Region.ScriptEngine.RemoteServer
|
|||
internal class EventManager
|
||||
{
|
||||
|
||||
System.Collections.Generic.Dictionary<uint, OpenSim.Grid.ScriptServer.RemotingObject> remoteScript = new System.Collections.Generic.Dictionary<uint, OpenSim.Grid.ScriptServer.RemotingObject>();
|
||||
System.Collections.Generic.Dictionary<uint, RemotingObject> remoteScript = new System.Collections.Generic.Dictionary<uint, OpenSim.Grid.ScriptServer.RemotingObject>();
|
||||
|
||||
|
||||
private ScriptEngine myScriptEngine;
|
||||
|
|
|
@ -1176,6 +1176,9 @@
|
|||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Reference name="OpenSim.Region.ScriptEngine.Common"/>
|
||||
<Reference name="OpenSim.Region.Terrain.BasicTerrain"/>
|
||||
<Reference name="OpenSim.Grid.ScriptServer"/>
|
||||
<Reference name="OpenSim.Region.ScriptEngine"/>
|
||||
<Reference name="OpenSim.Region.ScriptEngine.DotNetEngine"/>
|
||||
<Reference name="Axiom.MathLib.dll" localCopy="false"/>
|
||||
<Reference name="Nini.dll" />
|
||||
<Files>
|
||||
|
@ -1201,11 +1204,14 @@
|
|||
<ReferencePath>../../../bin/</ReferencePath>
|
||||
<Reference name="System" localCopy="false"/>
|
||||
<Reference name="System.Data" localCopy="false"/>
|
||||
<Reference name="System.Runtime.Remoting" localCopy="false"/>
|
||||
<Reference name="System.Xml" localCopy="false"/>
|
||||
<Reference name="OpenSim"/>
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Reference name="OpenSim.Framework.Servers"/>
|
||||
<Reference name="OpenSim.Framework.Data"/>
|
||||
<Reference name="OpenSim.Region.Environment"/>
|
||||
<Reference name="OpenSim.Region.ScriptEngine.DotNetEngine"/>
|
||||
<Reference name="OpenSim.Region.ScriptEngine.Common"/>
|
||||
<Reference name="libsecondlife.dll"/>
|
||||
|
|
Loading…
Reference in New Issue