LIBOMV-477 Adds SendPostcardMessage to Message system

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2629 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
Jim Radford
2009-04-18 06:20:20 +00:00
parent 5f785e9dfc
commit b0b7df3c8e
3 changed files with 57 additions and 0 deletions

View File

@@ -866,6 +866,30 @@ namespace OpenMetaverse.Tests
Assert.AreEqual(s.ItemID, t.ItemID);
Assert.AreEqual(s.Target, t.Target);
}
[Test]
public void SendPostcardMessage()
{
SendPostcardMessage s = new SendPostcardMessage();
s.FromEmail = "contact@openmetaverse.org";
s.FromName = "Jim Radford";
s.GlobalPosition = Vector3.One;
s.Message = "Hello, How are you today?";
s.Subject = "Postcard from the edge";
s.ToEmail = "test1@example.com";
OSDMap map = s.Serialize();
SendPostcardMessage t = new SendPostcardMessage();
t.Deserialize(map);
Assert.AreEqual(s.FromEmail, t.FromEmail);
Assert.AreEqual(s.FromName, t.FromName);
Assert.AreEqual(s.GlobalPosition, t.GlobalPosition);
Assert.AreEqual(s.Message, t.Message);
Assert.AreEqual(s.Subject, t.Subject);
Assert.AreEqual(s.ToEmail, t.ToEmail);
}
}
}

View File

@@ -1182,6 +1182,38 @@ namespace OpenMetaverse.Messages.Linden
}
public class SendPostcardMessage : IMessage
{
public string FromEmail;
public string Message;
public string FromName;
public Vector3 GlobalPosition;
public string Subject;
public string ToEmail;
public OSDMap Serialize()
{
OSDMap map = new OSDMap(6);
map["from"] = OSD.FromString(FromEmail);
map["msg"] = OSD.FromString(Message);
map["name"] = OSD.FromString(FromName);
map["pos-global"] = OSD.FromVector3(GlobalPosition);
map["subject"] = OSD.FromString(Subject);
map["to"] = OSD.FromString(ToEmail);
return map;
}
public void Deserialize(OSDMap map)
{
FromEmail = map["from"].AsString();
Message = map["msg"].AsString();
FromName = map["name"].AsString();
GlobalPosition = map["pos-global"].AsVector3();
Subject = map["subject"].AsString();
ToEmail = map["to"].AsString();
}
}
#endregion
#region Grid/Maps

View File

@@ -70,6 +70,7 @@ namespace OpenMetaverse
case "RemoteParcelRequest": message = new RemoteParcelRequestMessage(); break;
case "UpdateScriptTask": message = new UpdateScriptTaskMessage(); break;
case "UpdateScriptAgent": message = new UpdateScriptAgentMessage(); break;
case "SendPostcard": message = new SendPostcardMessage(); break;
// Capabilities TODO:
// DispatchRegionInfo