Merge branch 'presence-refactor' of ssh://opensimulator.org/var/git/opensim into presence-refactor

slimupdates
John Hurliman 2010-02-05 17:46:37 -08:00
commit e251f42443
5 changed files with 27 additions and 11 deletions

View File

@ -45,7 +45,7 @@ namespace OpenSim.Data
public interface IFriendsData public interface IFriendsData
{ {
bool Store(FriendsData data); bool Store(FriendsData data);
bool Delete(UUID ownerID, UUID friendID); bool Delete(UUID ownerID, string friend);
FriendsData[] GetFriends(UUID owner); FriendsData[] GetFriends(UUID principalID);
} }
} }

View File

@ -38,19 +38,26 @@ namespace OpenSim.Data.MySQL
public class MySqlFriendsData : MySQLGenericTableHandler<FriendsData>, IFriendsData public class MySqlFriendsData : MySQLGenericTableHandler<FriendsData>, IFriendsData
{ {
public MySqlFriendsData(string connectionString, string realm) public MySqlFriendsData(string connectionString, string realm)
: base(connectionString, realm, "Friends") : base(connectionString, realm, "FriendsStore")
{ {
} }
public bool Delete(UUID principalID, UUID friendID) public bool Delete(UUID principalID, string friend)
{ {
// We need to delete the row where PrincipalID=principalID AND FriendID=firnedID MySqlCommand cmd = new MySqlCommand();
return false;
cmd.CommandText = String.Format("delete from {0} where PrincipalID = ?PrincipalID and Friend = ?Friend", m_Realm);
cmd.Parameters.AddWithValue("?PrincipalID", principalID.ToString());
cmd.Parameters.AddWithValue("?Friend", friend);
ExecuteNonQuery(cmd);
return true;
} }
public FriendsData[] GetFriends(UUID userID) public FriendsData[] GetFriends(UUID principalID)
{ {
return Get("PrincipalID =\'" + userID.ToString() + "'"); return Get("PrincipalID", principalID.ToString());
} }
} }
} }

View File

@ -0,0 +1,5 @@
BEGIN;
CREATE TABLE `Friends` (`PrincipalID` CHAR(36) NOT NULL, `Friend` VARCHAR(255) NOT NULL, `Flags` VARCHAR(16) NOT NULL DEFAULT 0, `Offered` VARCHAR(32) NOT NULL DEFAULT 0, PRIMARY KEY(`PrincipalID`, `Friend`), KEY(`PrincipalID`));
COMMIT;

View File

@ -0,0 +1,5 @@
BEGIN;
INSERT INTO `Friends` SELECT `ownerID`, `friendID`, `friendPerms`, 0 FROM `userfriends`;
COMMIT;

View File

@ -35,15 +35,14 @@ namespace OpenSim.Region.Framework.Interfaces
{ {
public UUID PrincipalID; public UUID PrincipalID;
public string Friend; public string Friend;
int MyRights; int MyFlags;
int TheirRights; int TheirFlags;
} }
public interface IFriendsService public interface IFriendsService
{ {
FriendInfo[] GetFriends(UUID PrincipalID); FriendInfo[] GetFriends(UUID PrincipalID);
bool StoreFriend(UUID PrincipalID, string Friend, int flags); bool StoreFriend(UUID PrincipalID, string Friend, int flags);
bool SetFlags(UUID PrincipalID, int flags);
bool Delete(UUID PrincipalID, string Friend); bool Delete(UUID PrincipalID, string Friend);
} }
} }