aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/Connectors')
-rw-r--r--OpenSim/Services/Connectors/Friends/FriendsServiceConnector.cs15
-rw-r--r--OpenSim/Services/Connectors/Hypergrid/HGFriendsServiceConnector.cs50
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs7
3 files changed, 71 insertions, 1 deletions
diff --git a/OpenSim/Services/Connectors/Friends/FriendsServiceConnector.cs b/OpenSim/Services/Connectors/Friends/FriendsServiceConnector.cs
index d1afea2..08f1dc3 100644
--- a/OpenSim/Services/Connectors/Friends/FriendsServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Friends/FriendsServiceConnector.cs
@@ -211,6 +211,16 @@ namespace OpenSim.Services.Connectors.Friends
211 211
212 } 212 }
213 213
214 public bool Delete(string PrincipalID, string Friend)
215 {
216 Dictionary<string, object> sendData = new Dictionary<string, object>();
217 sendData["PRINCIPALID"] = PrincipalID.ToString();
218 sendData["FRIEND"] = Friend;
219 sendData["METHOD"] = "deletefriend_string";
220
221 return Delete(sendData, PrincipalID, Friend);
222 }
223
214 public bool Delete(UUID PrincipalID, string Friend) 224 public bool Delete(UUID PrincipalID, string Friend)
215 { 225 {
216 Dictionary<string, object> sendData = new Dictionary<string, object>(); 226 Dictionary<string, object> sendData = new Dictionary<string, object>();
@@ -218,6 +228,11 @@ namespace OpenSim.Services.Connectors.Friends
218 sendData["FRIEND"] = Friend; 228 sendData["FRIEND"] = Friend;
219 sendData["METHOD"] = "deletefriend"; 229 sendData["METHOD"] = "deletefriend";
220 230
231 return Delete(sendData, PrincipalID.ToString(), Friend);
232 }
233
234 public bool Delete(Dictionary<string, object> sendData, string PrincipalID, string Friend)
235 {
221 string reply = string.Empty; 236 string reply = string.Empty;
222 try 237 try
223 { 238 {
diff --git a/OpenSim/Services/Connectors/Hypergrid/HGFriendsServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/HGFriendsServiceConnector.cs
index f823889..d699f59 100644
--- a/OpenSim/Services/Connectors/Hypergrid/HGFriendsServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Hypergrid/HGFriendsServiceConnector.cs
@@ -54,6 +54,11 @@ namespace OpenSim.Services.Connectors.Hypergrid
54 { 54 {
55 } 55 }
56 56
57 public HGFriendsServicesConnector(string serverURI)
58 {
59 m_ServerURI = serverURI.TrimEnd('/');
60 }
61
57 public HGFriendsServicesConnector(string serverURI, UUID sessionID, string serviceKey) 62 public HGFriendsServicesConnector(string serverURI, UUID sessionID, string serviceKey)
58 { 63 {
59 m_ServerURI = serverURI.TrimEnd('/'); 64 m_ServerURI = serverURI.TrimEnd('/');
@@ -151,6 +156,51 @@ namespace OpenSim.Services.Connectors.Hypergrid
151 156
152 } 157 }
153 158
159 public bool DeleteFriendship(UUID PrincipalID, UUID Friend, string secret)
160 {
161 FriendInfo finfo = new FriendInfo();
162 finfo.PrincipalID = PrincipalID;
163 finfo.Friend = Friend.ToString();
164
165 Dictionary<string, object> sendData = finfo.ToKeyValuePairs();
166
167 sendData["METHOD"] = "deletefriendship";
168 sendData["SECRET"] = secret;
169
170 string reply = string.Empty;
171 try
172 {
173 reply = SynchronousRestFormsRequester.MakeRequest("POST",
174 m_ServerURI + "/hgfriends",
175 ServerUtils.BuildQueryString(sendData));
176 }
177 catch (Exception e)
178 {
179 m_log.DebugFormat("[HGFRIENDS CONNECTOR]: Exception when contacting friends server: {0}", e.Message);
180 return false;
181 }
182
183 if (reply != string.Empty)
184 {
185 Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
186
187 if ((replyData != null) && replyData.ContainsKey("Result") && (replyData["Result"] != null))
188 {
189 bool success = false;
190 Boolean.TryParse(replyData["Result"].ToString(), out success);
191 return success;
192 }
193 else
194 m_log.DebugFormat("[HGFRIENDS CONNECTOR]: Delete {0} {1} received null response",
195 PrincipalID, Friend);
196 }
197 else
198 m_log.DebugFormat("[HGFRIENDS CONNECTOR]: DeleteFriend received null reply");
199
200 return false;
201
202 }
203
154 #endregion 204 #endregion
155 } 205 }
156} \ No newline at end of file 206} \ No newline at end of file
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs
index b1c34dd..7422d94 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs
@@ -103,7 +103,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
103 if (!UUID.TryParse(principalID, out friend.PrincipalID)) 103 if (!UUID.TryParse(principalID, out friend.PrincipalID))
104 { 104 {
105 string tmp = string.Empty; 105 string tmp = string.Empty;
106 if (!Util.ParseUniversalUserIdentifier(principalID, out friend.PrincipalID, out tmp, out tmp, out tmp)) 106 if (!Util.ParseUniversalUserIdentifier(principalID, out friend.PrincipalID, out tmp, out tmp, out tmp, out tmp))
107 // bad record. ignore this entry 107 // bad record. ignore this entry
108 continue; 108 continue;
109 } 109 }
@@ -164,6 +164,11 @@ namespace OpenSim.Services.Connectors.SimianGrid
164 164
165 public bool Delete(UUID principalID, string friend) 165 public bool Delete(UUID principalID, string friend)
166 { 166 {
167 return Delete(principalID.ToString(), friend);
168 }
169
170 public bool Delete(string principalID, string friend)
171 {
167 if (String.IsNullOrEmpty(m_serverUrl)) 172 if (String.IsNullOrEmpty(m_serverUrl))
168 return true; 173 return true;
169 174