Exemple #1
0
 /// <summary>
 /// Recursively adds The ExternalInterface  children.
 /// </summary>
 /// <param name="caexObject">The CAEX object.</param>
 /// <param name="treeNode">The tree node.</param>
 private void AddEIChilds(IObjectWithExternalInterface caexObject, TreeNode treeNode)
 {
     foreach (var element in caexObject.ExternalInterface)
     {
         var childNode = treeNode.Nodes.Add(element.Node.Name.LocalName + ": " + element.Name);
         AddEIChilds(element, childNode);
     }
 }
Exemple #2
0
        /// <summary>
        /// Adds an external interface to the aml object without referencing an interface class.
        /// </summary>
        /// <param name="amlObject">The aml object.</param>
        internal static void AddExternalInterfaceWithoutClassreference(IObjectWithExternalInterface amlObject)
        {
            // alternative a
            amlObject.ExternalInterface.Append("interfaceWithoutClass1");

            // alternative b, append as last
            amlObject.New_ExternalInterface("interfaceWithoutClass2", false);
        }
Exemple #3
0
        /// <summary>
        /// Adds an external interface to the aml object by copying the first interface
        /// </summary>
        /// <param name="amlObject">The aml object.</param>
        internal static void AddExternalInterfaceAsCopy(IObjectWithExternalInterface amlObject)
        {
            // create a copy from the first interface, it is ensured, that the interface ids are unique
            var copy = amlObject.ExternalInterface.First().Copy() as ExternalInterfaceType;

            copy.Name = $"copied from {((CAEXObject)amlObject).Name}";
            // insert the copy
            amlObject.ExternalInterface.Insert(copy, false);
        }
Exemple #4
0
        /// <summary>
        /// Adds an external interface to the aml object, using the instantiation method provided by interface class.
        /// </summary>
        /// <param name="amlObject">The aml object.</param>
        internal static void AddExternalInterfaceUsingInstantiation(IObjectWithExternalInterface amlObject)
        {
            var amlDocument = amlObject.CAEXDocument();

            // alternative to add interfaces
            // 1. Find the interface class
            var interfaceClass = amlDocument.FindByPath(AutomationMLInterfaceClassLib.PPRConnector) as InterfaceFamilyType;

            // 2. Create the instance and assign a name
            var extInterface = interfaceClass.CreateClassInstance();

            extInterface.Name = "connector2";

            // 3. Insert the instance
            amlObject.ExternalInterface.Insert(extInterface, false);
        }
Exemple #5
0
 /// <summary>
 /// Adds an external interface to the aml object, using a standard interface class.
 /// </summary>
 /// <param name="amlObject">The aml object.</param>
 internal static void AddExternalInterfaceUsingStandardInterfaceClass(IObjectWithExternalInterface amlObject)
 {
     // assigns a new external interface, which references the standard PPRConnector interface class
     amlObject.AddInterfaceClassReference(AutomationMLInterfaceClassLib.PPRConnector, addUnique: false, addInstance: true, name: "connector1");
 }