コード例 #1
0
ファイル: TreeNodeUtils.cs プロジェクト: billmoling/wbemtools
 public static TreeNode CimToNode(CimQualifier qualifier)
 {
     /* <!ELEMENT QUALIFIER ((VALUE|VALUE.ARRAY)?)>
      * <!ATTLIST QUALIFIER
      *      %CIMName;
      *      %CIMType; #REQUIRED
      *      %Propagated;
      *      %QualifierFlavor;
      *      xml:lang NMTOKEN #IMPLIED>
      * */
     TreeNode root = new TreeNode(qualifier.Name.ToString());
     root.Nodes.Add(new TreeNode("Type - " + qualifier.Type.ToString()));
     root.Nodes.Add(new TreeNode("Propagated - " + qualifier.IsPropagated.ToString()));
     root.Nodes.Add(CimToNode(qualifier.Flavor));
     root.Nodes.Add(CimToNode(qualifier.Values));
     return root;
 }
コード例 #2
0
        public CimQualifierForm(CimQualifier displayQualifier)
        {
            InitializeComponent();

            //------------------------------------------------------
            List<ListViewItem> list;
            List<ListViewItem> valueList;

            DisplayQualifier = displayQualifier;
            this.Text = "CimQualifier - " + DisplayQualifier.Name.ToString();

            #region Display Signature
            this.AddLabel(LabelType.Name);
            LastLabel.Text = "[ " + DisplayQualifier.Name.ToString() + " ]";
            #endregion

            #region Display Flavors
            list = ListViewUtils.ToList(DisplayQualifier.Flavor);
            #endregion

            #region Display Attributes
            list.Add(ListViewUtils.AttrToListViewItem("Name", DisplayQualifier.Name.ToString()));
            list.Add(ListViewUtils.AttrToListViewItem("Type", DisplayQualifier.Type.ToString()));
            list.Add(ListViewUtils.AttrToListViewItem("IsPropagated", DisplayQualifier.IsPropagated.ToString()));
            #endregion

            #region Display Values
            this.uxLbl_Description.Text = "Values:";

            valueList = new List<ListViewItem>();
            valueList.AddRange(ListViewUtils.ToList(DisplayQualifier.Values));
            #endregion

            uxLstView_Items.Items.AddRange(list.ToArray());
            uxLstView_Values.Items.AddRange(valueList.ToArray());

            colName.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
            colType.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);

            this.AlignSignatureLabels(null, null);
        }
コード例 #3
0
ファイル: ListViewUtils.cs プロジェクト: billmoling/wbemtools
        public static ListViewItem ToList(CimQualifier qualifier)
        {
            string valStr = string.Empty;
            foreach (string curVal in qualifier.Values)
            {
                valStr += curVal + ", ";
            }
            valStr = valStr.TrimEnd(',', ' ');

            ListViewItem item = new ListViewItem(new string[] { qualifier.Name.ToString(), "Qualifier", valStr }, (int)ImageUtils.ImageIndex.Qualifier);
            return item;
        }
コード例 #4
0
ファイル: CimXmlWriter.cs プロジェクト: billmoling/wbemtools
        public void WriteCimQualifier(CimQualifier qualifier)
        {
            #region Actual XML Request
            /*
            [...]
            <QUALIFIER NAME="Deprecated" TYPE="string" TOSUBCLASS="false" >
                <VALUE.ARRAY>
                    <VALUE>CIM_FileShare</VALUE>
                </VALUE.ARRAY>
            </QUALIFIER>
            [...]
            */

            /* <!ELEMENT QUALIFIER ((VALUE|VALUE.ARRAY)?)>
             * <!ATTLIST QUALIFIER
             *      %CIMName;
             *      %CIMType; #REQUIRED
             *      %Propagated;
             *      %QualifierFlavor;
             *      xml:lang NMTOKEN #IMPLIED>
             * */
            #endregion

            WriteQualifierElement();
            if (qualifier.Name.IsSet)
                WriteCimNameAttributeString(qualifier.Name);
            if (qualifier.Type.IsSet)
                WriteTypeAttribute(qualifier.Type.ToCimType());

            if (qualifier.IsPropagated.IsSet)
                WritePropagatedAttribute(qualifier.IsPropagated.ToBool());

            WriteCimQualifierFlavorAttributes(qualifier.Flavor);

            // This could be a problem:
            // How do we know if the qual has a single value, or a Value.Array with a single value?
            // Or does this matter?
            // Solution: Have member bool HasValueArray that we can check for this.
            if (qualifier.Values.Count != 0)
            {
                if (qualifier.HasValueArray)
                    WriteCimValueList(qualifier.Values);
                else
                    WriteValueString(qualifier.Values[0]);//only the first value in the list
            }

            this.WriteEndElement();
        }
コード例 #5
0
 private CimQualifier GetKeyQualifier()
 {
     CimQualifier qual = new CimQualifier(CimType.BOOLEAN, "key");
     qual.Values.Add("true");
     return qual;
 }
コード例 #6
0
        internal static CimMethodParametersCollection InvokeMethodCore(
            CimSession cimSession,
            string cimNamespace,
            string cimClassName,
            out string cimMethodName,
            out CimInstance inputInstance)
        {
            CimMethodParametersCollection methodParameters = new CimMethodParametersCollection();

            inputInstance = null;
            cimMethodName = null;
            bool isStaticMethod = false;

            try
            {
                CimClass cimClass = cimSession.GetClass(cimNamespace, cimClassName);

                // Print Methods
                foreach (CimMethodDeclaration methodDecl in cimClass.CimClassMethods)
                {
                    Console.WriteLine("Method Name = " + methodDecl.Name);
                }

                cimMethodName = DotNetSample.GetName("Method Name");
                if (cimClass.CimClassMethods[cimMethodName].Qualifiers["static"] != null)
                {
                    isStaticMethod = true;
                }

                foreach (CimMethodParameterDeclaration methodParameter in cimClass.CimClassMethods[cimMethodName].Parameters)
                {
                    bool bInQualifier = true;
                    try
                    {
                        CimQualifier inQualifier = methodParameter.Qualifiers["In"];
                    }
                    catch (CimException)
                    {
                        //Ignore the exception
                        bInQualifier = false;
                    }
                    if (bInQualifier)
                    {
                        Console.Write("Please type value for Parameter '" + methodParameter.Name + "' of Type:({0}) ", methodParameter.CimType);
                        string parameterValue = Console.ReadLine();
                        if (!String.IsNullOrEmpty(parameterValue))
                        {
                            methodParameters.Add(CimMethodParameter.Create(methodParameter.Name, parameterValue, methodParameter.CimType, 0));
                        }
                    }
                }

                // Get the instance if method is not static
                if (!isStaticMethod)
                {
                    // Get the instances for this class.
                    ArrayList list = GetAndPrintInstances(cimSession, cimNamespace, cimClassName);
                    if (list == null || list.Count == 0)
                    {
                        Console.WriteLine("InvokeMethodCore operation not performed");
                        return(null);
                    }

                    while (true)
                    {
                        Console.WriteLine("On which instance do you want to invoke the method");
                        string instanceId = Console.ReadLine();
                        int    result;
                        if (String.IsNullOrEmpty(instanceId) || int.TryParse(instanceId, out result) == false || result >= list.Count)
                        {
                            Console.WriteLine("Please type the instance Id in the range {0} to {1}", 0, list.Count - 1);
                        }
                        else
                        {
                            inputInstance = (CimInstance)list[result];
                            break;
                        }
                    }
                }
            }
            catch (CimException exception)
            {
                Console.WriteLine("Unable to get schema for class '" + cimClassName + "' in namespace " + cimNamespace);
                PrintCimException(exception);
                return(null);
            }

            return(methodParameters);
        }