Esempio n. 1
0
        }           //	end HandleItemWriteRequest

        /// <summary>
        /// Executes the command
        /// </summary>
        /// <param name="anAddress"></param>
        /// <param name="aCommand"></param>
        /// <returns></returns>
        protected int ExecuteCommands(
            string anAddress,
            string aCommand,
            string aDescription)
        {
            try
            {
                //	Delegate command execution to the application
                AddressSpaceElement targetElement;
                // TODO: replace the QueryAddressSpaceElementData call with BISDemo specific message
                BISDaRoot daRoot = Application.Instance.DaAddressSpaceRoot as BISDaRoot;
                daRoot.findAddressSpaceElementData(anAddress, out targetElement);

                DaBaseElement element = targetElement as DaBaseElement;

                if (element == null)
                {
                    //	the targeted element was not found
                    return((int)EnumResultCode.E_FAIL);
                }                   //	end if

                return(element.ExecuteCommand(anAddress, aCommand, aDescription));
            }
            catch
            {
                return((int)EnumResultCode.E_FAIL);
            }       //	end try ... catch
        }           //	end ExecuteCommand
Esempio n. 2
0
        //---------------------------------

        // TODO Implement this methods for string based address space using the DA address space elements

        /// <summary>
        /// Returns the corresponding namespace-element
        /// </summary>
        /// <param name="ElementID">Namespace path of the element</param>
        /// <param name="Element">returned element</param>
        /// <returns>
        /// EnumResultCode.E_NOTIMPL°Must be overridden
        /// </returns>
        public override int QueryAddressSpaceElementData(string anElementId, out AddressSpaceElement anElement)
        {
            anElement = null;
            BISDaRoot           daRoot = Application.Instance.DaAddressSpaceRoot as BISDaRoot;
            AddressSpaceElement anAddressSpaceElement = null;

            daRoot.findAddressSpaceElementData(anElementId, out anAddressSpaceElement);
            if (anAddressSpaceElement != null)
            {
                DaBaseElement daElement = anAddressSpaceElement as DaBaseElement;
                if (daElement != null)
                {
                    anElement             = new AeAddressSpaceElement();
                    anElement.Name        = daElement.Name;
                    anElement.HasChildren = daElement.HasChildren;

                    return((int)EnumResultCode.S_OK);
                }         // end if
            }             // end if .. else

            return((int)EnumResultCode.S_FALSE);
        }         // end QueryAddressSpaceElementData
Esempio n. 3
0
        }         // end QueryAddressSpaceElementData

        public override int QueryAddressSpaceElementChildren(string anElementId, ArrayList aChildrenList)
        {
            BISDaRoot daRoot   = Application.Instance.DaAddressSpaceRoot as BISDaRoot;
            ArrayList elements = null;

            if (anElementId == "")
            {
                elements = ArrayList.Synchronized(daRoot.GetChildren());
            }
            else
            {
                AddressSpaceElement anElement = null;
                daRoot.findAddressSpaceElementData(anElementId, out anElement);
                if (anElement != null)
                {
                    DaBaseElement daElement = anElement as DaBaseElement;
                    if (daElement != null)
                    {
                        elements = ArrayList.Synchronized(daElement.GetChildren());
                    }     // end if
                }         // end if
            }             // end if .. else

            foreach (object element in elements)
            {
                DaBaseElement daElement = element as DaBaseElement;
                if (daElement != null && daElement.Name != "CMD")
                {
                    AeAddressSpaceElement anElement = new AeAddressSpaceElement();
                    anElement.Name        = daElement.Name;
                    anElement.HasChildren = daElement.HasChildren;
                    aChildrenList.Add(anElement);
                }         //	end if
            }             // end foreach

            return((int)EnumResultCode.S_OK);
        }         // end QueryAddressSpaceElementChildren