Exemplo n.º 1
0
 public void DeserializeURI()
 {
     OSD llsdURI = OSDParser.DeserializeLLSDBinary(binaryURI);
     Assert.AreEqual(OSDType.URI, llsdURI.Type);
     Uri uri = new Uri("http://www.testurl.test/");
     Assert.AreEqual(uri, llsdURI.AsUri());
 }
        public static object SerializeLisp(OSD osd)
        {
            switch (osd.Type)
            {
            case OSDType.Unknown:
                throw new InvalidCastException();

            case OSDType.Boolean:
                return(osd.AsBoolean());

            case OSDType.Integer:
                return(osd.AsInteger());

            case OSDType.Real:
                return(osd.AsReal());

            case OSDType.String:
                return(osd.AsString());

            case OSDType.Date:
                return(osd.AsDate());

            case OSDType.URI:
                return(osd.AsUri());

            case OSDType.UUID:
                return(osd.AsUUID());

            case OSDType.Binary:
                return(osd.AsBinary());

            case OSDType.Array:
                OSDArray args = (OSDArray)osd;
                Cons     ret  = null;
                for (int i = args.Count - 1; i >= 0; --i)
                {
                    ret = new Cons(args[i], ret);
                }
                return(ret);

            case OSDType.Map:
                Cons   list = null;
                OSDMap map  = (OSDMap)osd;
                foreach (KeyValuePair <string, OSD> kvp in map)
                {
                    Cons kv = new Cons(kvp.Key, new Cons(SerializeLisp(kvp.Value)));
                    list = new Cons(kv, list);
                }
                return(Cons.Reverse(list));

            default:
                return(osd);
            }
        }
Exemplo n.º 3
0
        public void SerializeURI()
        {
            Uri    uriOne    = new Uri("http://test.org/test test>\\\"/&yes\"", UriKind.RelativeOrAbsolute);
            OSD    llsdOne   = OSD.FromUri(uriOne);
            string sUriOne   = OSDParser.SerializeLLSDNotation(llsdOne);
            OSD    llsdOneDS = OSDParser.DeserializeLLSDNotation(sUriOne);

            Assert.AreEqual(OSDType.URI, llsdOneDS.Type);
            Assert.AreEqual(uriOne, llsdOneDS.AsUri());

            Uri    uriTwo    = new Uri("test/test/near/the/end?test=1", UriKind.RelativeOrAbsolute);
            OSD    llsdTwo   = OSD.FromUri(uriTwo);
            string sUriTwo   = OSDParser.SerializeLLSDNotation(llsdTwo);
            OSD    llsdTwoDS = OSDParser.DeserializeLLSDNotation(sUriTwo);

            Assert.AreEqual(OSDType.URI, llsdTwoDS.Type);
            Assert.AreEqual(uriTwo, llsdTwoDS.AsUri());
        }
Exemplo n.º 4
0
        public static object SerializeLisp(OSD osd)
        {
            switch (osd.Type)
            {
                case OSDType.Unknown:
                    throw new InvalidCastException();
                case OSDType.Boolean:
                    return osd.AsBoolean();
                case OSDType.Integer:
                    return osd.AsInteger();
                case OSDType.Real:
                    return osd.AsReal();
                case OSDType.String:
                    return osd.AsString();
                case OSDType.Date:
                    return osd.AsDate();
                case OSDType.URI:
                    return osd.AsUri();
                case OSDType.UUID:
                    return osd.AsUUID();

                case OSDType.Binary:
                    return osd.AsBinary();
                case OSDType.Array:
                    OSDArray args = (OSDArray) osd;
                    Cons ret = null;
                    for (int i = args.Count - 1; i >= 0; --i)
                    {
                        ret = new Cons(args[i], ret);
                    }
                    return ret;
                case OSDType.Map:
                    Cons list = null;
                    OSDMap map = (OSDMap) osd;
                    foreach (KeyValuePair<string, OSD> kvp in map)
                    {
                        Cons kv = new Cons(kvp.Key, new Cons(SerializeLisp(kvp.Value)));
                        list = new Cons(kv,list);
                    }
                    return Cons.Reverse(list);
                default:
                    return osd;
            }

        }