Stream(ArrayList data, AcRx.RXClass rxClass) { data.Add(new Snoop.Data.ClassSeparator(typeof(AcRx.RXClass))); data.Add(new Snoop.Data.String("Name", rxClass.Name)); data.Add(new Snoop.Data.String("Appname", rxClass.AppName)); data.Add(new Snoop.Data.String("DXF name", rxClass.DxfName)); data.Add(new Snoop.Data.Object("Class version", rxClass.ClassVersion)); data.Add(new Snoop.Data.Object("My parent", rxClass.MyParent)); data.Add(new Snoop.Data.Int("Proxy flags", rxClass.ProxyFlags)); }
Stream(ArrayList data, Autodesk.AutoCAD.Runtime.RXObject rxObj) { data.Add(new Snoop.Data.ClassSeparator(typeof(Autodesk.AutoCAD.Runtime.RXObject))); data.Add(new Snoop.Data.Class("Class", rxObj.GetType())); data.Add(new Snoop.Data.String("Rx class name", MgdDbg.Utils.AcadUi.ObjToRxClassStr(rxObj))); // branch to all types we are concerned with AcDb.Database db = rxObj as AcDb.Database; if (db != null) { Stream(data, db); return; } AcDb.HostApplicationServices hAppSrvs = rxObj as AcDb.HostApplicationServices; if (hAppSrvs != null) { Stream(data, hAppSrvs); return; } AcRx.DynamicLinker dLinker = rxObj as AcRx.DynamicLinker; if (dLinker != null) { Stream(data, dLinker); return; } AcRx.Dictionary dict = rxObj as AcRx.Dictionary; if (dict != null) { Stream(data, dict); return; } AcRx.RXClass rxClass = rxObj as AcRx.RXClass; if (rxClass != null) { Stream(data, rxClass); return; } }