OpenMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Serialize C# (CSharp) Method

Serialize() public method

Serialize the object
public Serialize ( ) : OSDMap
return OSDMap
        public OSDMap Serialize()
        {
            OSDMap dataMap = new OSDMap(3);
            dataMap["timestamp"] = OSD.FromDate(Timestamp);
            dataMap["type"] = OSD.FromInteger((uint)Dialog);
            dataMap["binary_bucket"] = OSD.FromBinary(BinaryBucket);

            OSDMap paramsMap = new OSDMap(11);
            paramsMap["from_id"] = OSD.FromUUID(FromAgentID);
            paramsMap["from_name"] = OSD.FromString(FromAgentName);
            paramsMap["to_id"] = OSD.FromUUID(ToAgentID);
            paramsMap["parent_estate_id"] = OSD.FromInteger(ParentEstateID);
            paramsMap["region_id"] = OSD.FromUUID(RegionID);
            paramsMap["position"] = OSD.FromVector3(Position);
            paramsMap["from_group"] = OSD.FromBoolean(GroupIM);
            paramsMap["id"] = OSD.FromUUID(IMSessionID);
            paramsMap["message"] = OSD.FromString(Message);
            paramsMap["offline"] = OSD.FromInteger((uint)Offline);

            paramsMap["data"] = dataMap;

            OSDMap imMap = new OSDMap(1);
            imMap["message_params"] = paramsMap;

            OSDMap map = new OSDMap(1);
            map["instantmessage"] = imMap;

            return map;
        }

Usage Example

        public void ChatterBoxInvitationMessage()
        {
            ChatterBoxInvitationMessage s = new ChatterBoxInvitationMessage();
            s.BinaryBucket = Utils.EmptyBytes;
            s.Dialog = InstantMessageDialog.InventoryOffered;
            s.FromAgentID = UUID.Random();
            s.FromAgentName = "Prokofy Neva";
            s.GroupIM = false;
            s.IMSessionID = s.FromAgentID ^ UUID.Random();
            s.Message = "Test Test Test";
            s.Offline = InstantMessageOnline.Online;
            s.ParentEstateID = 1;
            s.Position = Vector3.One;
            s.RegionID = UUID.Random();
            s.Timestamp = DateTime.UtcNow;
            s.ToAgentID = UUID.Random();

            OSDMap map = s.Serialize();

            ChatterBoxInvitationMessage t = new ChatterBoxInvitationMessage();
            t.Deserialize(map);

            Assert.AreEqual(s.BinaryBucket, t.BinaryBucket);
            Assert.AreEqual(s.Dialog, t.Dialog);
            Assert.AreEqual(s.FromAgentID, t.FromAgentID);
            Assert.AreEqual(s.FromAgentName, t.FromAgentName);
            Assert.AreEqual(s.GroupIM, t.GroupIM);
            Assert.AreEqual(s.IMSessionID, t.IMSessionID);
            Assert.AreEqual(s.Message, t.Message);
            Assert.AreEqual(s.Offline, t.Offline);
            Assert.AreEqual(s.ParentEstateID, t.ParentEstateID);
            Assert.AreEqual(s.Position, t.Position);
            Assert.AreEqual(s.RegionID, t.RegionID);
            Assert.AreEqual(s.Timestamp, t.Timestamp);
            Assert.AreEqual(s.ToAgentID, t.ToAgentID);
        }
ChatterBoxInvitationMessage