private static PacketArray CreateArrayOfDatasets(params PacketDataset[] datasets) { PacketArray pa = new PacketArray(); foreach (PacketDataset d in datasets) { pa.Add(new Packet(d, PacketType.Dataset)); } return(pa); }
private static PacketArray CreateArrayOfArrayOfAtomics() { PacketArray packetArrayOfArrays = new PacketArray(); packetArrayOfArrays.Add(new Packet(CreateArrayOfAtomics(), PacketType.Array)); packetArrayOfArrays.Add(new Packet(CreateArrayOfAtomics(), PacketType.Array)); packetArrayOfArrays.Add(new Packet(CreateArrayOfAtomics(), PacketType.Array)); return(packetArrayOfArrays); }
private static PacketArray CreateArrayOfStrings() { PacketArray packetArrayOfAtomics = new PacketArray(); packetArrayOfAtomics.Add(new Packet("Hey", PacketType.Atomic)); packetArrayOfAtomics.Add(new Packet("Ho", PacketType.Atomic)); packetArrayOfAtomics.Add(new Packet("Hey", PacketType.Atomic)); packetArrayOfAtomics.Add(new Packet("Ho", PacketType.Atomic)); return(packetArrayOfAtomics); }
private static PacketArray CreateArrayOfAtomics() { PacketArray packetArrayOfAtomics = new PacketArray(); packetArrayOfAtomics.Add(new Packet((int)1, PacketType.Atomic)); packetArrayOfAtomics.Add(new Packet((int)2, PacketType.Atomic)); packetArrayOfAtomics.Add(new Packet((int)3, PacketType.Atomic)); packetArrayOfAtomics.Add(new Packet((int)4, PacketType.Atomic)); return(packetArrayOfAtomics); }
public static PacketArray AtomicArrayFrom(IDataRowReader reader) { PacketArray array = new PacketArray(); using (ReaderGuard rg = new ReaderGuard(reader)) { while (reader.HasNext()) { array.Add(new Packet(reader.ReadNext().FetchField(0), PacketType.Atomic)); } } return(array); }
public static PacketArray DatasetArrayFrom(IDataRowReader reader) { PacketArray array = new PacketArray(); using (ReaderGuard rg = new ReaderGuard(reader)) { while (reader.HasNext()) { array.Add(new Packet(DatasetFromRow(reader.Headers, reader.ReadNext()), PacketType.Dataset)); } } return(array); }
public static object Decode(PacketArray pa, Type t) { RaiseException.WhenTrue(t.IsArrayOf <object>(), "Cannot deserialize array of objects '{0}'!", t); RaiseException.WhenTrue(t.IsGenericListOf <object>(), "Cannot deserialize list of objects '{0}'!", t); ICollectionBuilder collectionBuilder = CreateCollectionBuilder(pa, t); foreach (Packet p in pa.Values) { object element = Decoder.Decode(p, collectionBuilder.ElementType); collectionBuilder.AddElement(element); } return(collectionBuilder.Build()); }
private static ICollectionBuilder CreateCollectionBuilder(PacketArray pa, Type t) { //TODO: think about pluggable extensibility for collection types //TODO: think about builder pooling if (t.IsArray) { return(new ArrayBuilder(t, pa.Count)); } else if (t.IsGenericList()) { return(new GenericListBuilder(t)); } else { RaiseException.WhenTrue(true, "Unknown collection type: '{0}'! Only arrays and List<> are supported.", t.FullName); return(null); } }
public Packet Execute() { PacketArray array = DataRowConverter.DatasetArrayFrom(reader); return(new Packet(array, PacketType.Array)); }
public MapData(IntPtr BasePtr) { m_pMapData = BasePtr; _Data = new PacketArray((IntPtr)(m_pMapData.ToInt32() + 8)); }