예제 #1
0
 /// <summary>
 /// Constructor for the wrapper class for COM-based boolean-valued parameter.
 /// </summary>
 /// <remarks>
 /// This constructor creates an instance of a class that wraps a COM-based boolean-valued paramemter. This
 /// wrapper exposes appropriate .NET-based parameter interfaces for the wrapped parameter.
 /// </remarks>
 /// <param name = "parameter">The parameter to be wrapped.</param>
 public BooleanParameterWrapper(ICapeParameter parameter)
     : base(String.Empty, string.Empty, parameter.Mode)
 {
     m_Parameter               = parameter;
     this.ComponentName        = ((ICapeIdentification)parameter).ComponentName;
     this.ComponentDescription = ((ICapeIdentification)parameter).ComponentDescription;
     this.Mode   = parameter.Mode;
     m_ValStatus = parameter.ValStatus;
 }
예제 #2
0
        override public void Initialize()
        {
            ICapeUtilitiesCOM p_Util = ((ICapeUtilitiesCOM)this.p_Unit);

            p_Util.Initialize();

            ICapeIdentification p_Id = (ICapeIdentification)p_Unit;

            //wrap ports...
            ICapeCollection portColl  = (ICapeCollection)((ICapeUnitCOM)(p_Unit)).ports;
            int             portCount = portColl.Count();

            object[] portConnections = new object[portCount];
            for (int i = 0; i < portCount; i++)
            {
                ICapeUnitPortCOM port = (ICapeUnitPortCOM)portColl.Item(i + 1);
                this.Ports.Add(new UnitPortWrapper(port));
            }

            //wrap parameters...
            ICapeCollection paramColl  = (ICapeCollection)((ICapeUtilitiesCOM)(p_Unit)).parameters;
            int             paramCount = paramColl.Count();

            for (int i = 0; i < paramCount; i++)
            {
                ICapeParameter param     = (ICapeParameter)paramColl.Item(i + 1);
                CapeParamType  paramType = ((ICapeParameterSpecCOM)param.Specification).Type;
                if (((ICapeParameterSpecCOM)param.Specification).Type == CapeParamType.CAPE_REAL)
                {
                    this.Parameters.Add(new RealParameterWrapper(param));
                }
                if (((ICapeParameterSpecCOM)param.Specification).Type == CapeParamType.CAPE_INT)
                {
                    this.Parameters.Add(new IntegerParameterWrapper(param));
                }
                if (((ICapeParameterSpecCOM)param.Specification).Type == CapeParamType.CAPE_OPTION)
                {
                    this.Parameters.Add(new OptionParameterWrapper(param));
                }
                if (((ICapeParameterSpecCOM)param.Specification).Type == CapeParamType.CAPE_BOOLEAN)
                {
                    this.Parameters.Add(new BooleanParameterWrapper(param));
                }
                if (((ICapeParameterSpecCOM)param.Specification).Type == CapeParamType.CAPE_ARRAY)
                {
                    this.Parameters.Add(new ArrayParameterWrapper(param));
                }
            }
        }
예제 #3
0
 /// <summary>
 /// Creates a new instance of a wrapper class for COM-based array-valued parameter class.
 /// </summary>
 /// <remarks>
 /// The COM-based array parameter is wrapped and exposed to .NET-based PME and PMCs.
 /// </remarks>
 /// <param name = "parameter">The COM-based array parameter to be wrapped.</param>
 public ArrayParameterWrapper(ICapeParameter parameter)
     : base(((ICapeIdentification)parameter).ComponentName, ((ICapeIdentification)parameter).ComponentDescription, parameter.Mode)
 {
     m_parameter = parameter;
 }