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; }
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); }
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; }
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(); }
private CimQualifier GetKeyQualifier() { CimQualifier qual = new CimQualifier(CimType.BOOLEAN, "key"); qual.Values.Add("true"); return qual; }
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); }