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
{
bool Store(FriendsData data);
bool Delete(UUID ownerID, UUID friendID);
FriendsData[] GetFriends(UUID owner);
bool Delete(UUID ownerID, string friend);
FriendsData[] GetFriends(UUID principalID);
}
}

View File

@ -38,19 +38,26 @@ namespace OpenSim.Data.MySQL
public class MySqlFriendsData : MySQLGenericTableHandler<FriendsData>, IFriendsData
{
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
return false;
MySqlCommand cmd = new MySqlCommand();
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 string Friend;
int MyRights;
int TheirRights;
int MyFlags;
int TheirFlags;
}
public interface IFriendsService
{
FriendInfo[] GetFriends(UUID PrincipalID);
bool StoreFriend(UUID PrincipalID, string Friend, int flags);
bool SetFlags(UUID PrincipalID, int flags);
bool Delete(UUID PrincipalID, string Friend);
}
}