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; } }
Stream(ArrayList data, AcDb.HostApplicationServices hAppSrvs) { data.Add(new Snoop.Data.ClassSeparator(typeof(AcDb.HostApplicationServices))); data.Add(new Snoop.Data.String("Alternate font name", hAppSrvs.AlternateFontName)); data.Add(new Snoop.Data.String("Font map file name", hAppSrvs.FontMapFileName)); data.Add(new Snoop.Data.String("Roamable root folder", hAppSrvs.RoamableRootFolder)); data.Add(new Snoop.Data.String("Local root folder", hAppSrvs.LocalRootFolder)); data.Add(new Snoop.Data.String("Program", hAppSrvs.Program)); data.Add(new Snoop.Data.String("Product", hAppSrvs.Product)); data.Add(new Snoop.Data.String("Company name", hAppSrvs.CompanyName)); #if (AC2012) #else data.Add(new Snoop.Data.String("Registry product root key", hAppSrvs.MachineRegistryProductRootKey)); #endif data.Add(new Snoop.Data.String("Modeler flavor", hAppSrvs.ModelerFlavor.ToString())); data.Add(new Snoop.Data.Database("Working database", AcDb.HostApplicationServices.WorkingDatabase)); data.Add(new Snoop.Data.Object("Current", AcDb.HostApplicationServices.Current)); }