Beispiel #1
0
 public void AddGenericData(string Key, object Value)
 {
     if (Value is OSD)
     {
         m_GenericMap[Key] = Value as OSD;
     }
     else
     {
         m_GenericMap[Key] = OSD.FromObject(Value);
     }
 }
        public OSDArray ArrayListToOSDArray(ArrayList arrlst)
        {
            OSDArray llsdBack = new OSDArray();

            foreach (Hashtable ht in arrlst)
            {
                OSDMap mp = new OSDMap();
                foreach (DictionaryEntry deHt in ht)
                {
                    mp.Add((string)deHt.Key, OSD.FromObject(deHt.Value));
                }
                llsdBack.Add(mp);
            }
            return(llsdBack);
        }
        public object ObjectToLisp(object prim)
        {
            OSD data = OSD.FromObject(prim);

            if (data.Type != OSDType.Unknown)
            {
                return(SerializeLisp(data));
            }
            Type t = prim.GetType();

            foreach (FieldInfo PI in t.GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public))
            {
                object value = ToLispValue(PI.FieldType, PI.GetValue(prim));
                object kv    = new Cons(PI.Name, new Cons(value, null));
            }
            return(prim);
        }
Beispiel #4
0
        private static OSD BuildLLSDBlock(object block)
        {
            OSDMap map       = new OSDMap();
            Type   blockType = block.GetType();

            foreach (FieldInfo field in blockType.GetFields())
            {
                if (field.IsPublic)
                {
                    map[field.Name] = OSD.FromObject(field.GetValue(block));
                }
            }

            foreach (PropertyInfo property in blockType.GetProperties())
            {
                if (property.Name != "Length")
                {
                    map[property.Name] = OSD.FromObject(property.GetValue(block, null));
                }
            }

            return(map);
        }