Example #1
0
        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));
        }
Example #2
0
        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;
            }
        }