Exemple #1
0
        public COMObject(Core factory, COMObject replacedObject)
        {
            // copy current factory info or set default
            if (null == factory)
            {
                factory = Core.Default;
            }
            Factory = factory;

            // copy proxy
            _underlyingObject = replacedObject.UnderlyingObject;
            _parentObject     = replacedObject.ParentObject;
            _instanceType     = replacedObject.InstanceType;

            // copy childs
            foreach (COMObject item in replacedObject.ChildObjects)
            {
                AddChildObject(item);
            }

            // remove old object from parent chain
            if (!Object.ReferenceEquals(replacedObject.ParentObject, null))
            {
                COMObject parentObject = replacedObject.ParentObject;
                parentObject.RemoveChildObject(replacedObject);

                // add himself as child to parent object
                parentObject.AddChildObject(this);
            }

            Factory.RemoveObjectFromList(replacedObject);
            Factory.AddObjectToList(this);
        }
Exemple #2
0
        public COMObject(Core factory, COMObject parentObject, object comProxy, Type comProxyType)
        {
            // copy current factory info
            if (null == factory)
            {
                factory = Core.Default;
            }
            Factory = factory;

            _parentObject     = parentObject;
            _underlyingObject = comProxy;

            if (null != comProxyType)
            {
                _instanceType = comProxyType;
            }
            else
            {
                comProxyType.GetType();
            }

            if (Settings.Default.EnableProxyManagement && !Object.ReferenceEquals(parentObject, null))
            {
                _parentObject.AddChildObject(this);
            }

            Factory.AddObjectToList(this);
        }
Exemple #3
0
        public COMObject(Core factory, string progId)
        {
            // copy current factory info
            if (null == factory)
            {
                factory = Core.Default;
            }
            Factory = factory;

            CreateFromProgId(progId);
            Factory.AddObjectToList(this);
        }
Exemple #4
0
        public COMObject(Core factory, object comProxy)
        {
            // copy current factory info or set default
            if (null == factory)
            {
                factory = Core.Default;
            }
            Factory = factory;

            _underlyingObject = comProxy;
            _instanceType     = comProxy.GetType();

            Factory.AddObjectToList(this);
        }
Exemple #5
0
        public COMObject(Core factory, string progId)
        {
            // copy current factory info
            if (null == factory)
                factory = Core.Default;
            Factory = factory;

            CreateFromProgId(progId);
            Factory.AddObjectToList(this);
        }
Exemple #6
0
        public COMObject(Core factory, COMObject parentObject, object comProxy, Type comProxyType)
        {
            // copy current factory info
            if (null == factory)
                factory = Core.Default;
            Factory = factory;

            _parentObject = parentObject;
            _underlyingObject = comProxy;

            if (null != comProxyType)
                _instanceType = comProxyType;
            else
                comProxyType.GetType();

            if (Settings.Default.EnableProxyManagement && !Object.ReferenceEquals(parentObject, null))
                _parentObject.AddChildObject(this);

            Factory.AddObjectToList(this);
        }
Exemple #7
0
        public COMObject(Core factory, object comProxy)
        {
            // copy current factory info or set default
            if (null == factory)
                factory = Core.Default;
            Factory = factory;

            _underlyingObject = comProxy;
            _instanceType = comProxy.GetType();

            Factory.AddObjectToList(this);
        }
Exemple #8
0
        public COMObject(Core factory, COMObject replacedObject)
        {
            // copy current factory info or set default
            if (null == factory)
                factory = Core.Default;
            Factory = factory;

            // copy proxy
            _underlyingObject = replacedObject.UnderlyingObject;
            _parentObject = replacedObject.ParentObject;
            _instanceType = replacedObject.InstanceType;

            // copy childs
            foreach (COMObject item in replacedObject.ChildObjects)
                AddChildObject(item);

            // remove old object from parent chain
            if (!Object.ReferenceEquals(replacedObject.ParentObject, null))
            {
                COMObject parentObject = replacedObject.ParentObject;
                parentObject.RemoveChildObject(replacedObject);

                // add himself as child to parent object
                parentObject.AddChildObject(this);
            }

            Factory.RemoveObjectFromList(replacedObject);
            Factory.AddObjectToList(this);
        }