Exemple #1
0
        public void WriteCimInstancePath(CimInstanceName instanceName, CimName ns)
        {
            _body.Add(new CimXmlOperation(TagType.LocalInstancePath));
            _verifyXTW.WriteStartElement("LOCALINSTANCEPATH");

            WriteCimNamespace(ns);
            WriteCimInstanceName(instanceName);

            _body.Add(new CimXmlOperation(TagType.EndElement));
            _verifyXTW.WriteEndElement();
        }
Exemple #2
0
        public void WriteCimInstanceName(CimInstanceName instanceName)
        {
            #region Actual XML Request
            /*
            [...]
            <IPARAMVALUE NAME="InstanceName">
                <INSTANCENAME CLASSNAME="OMC_InstalledOS">
                    <KEYBINDING NAME="GroupComponent">
                        <VALUE.REFERENCE>
                            <LOCALINSTANCEPATH>
                                <LOCALNAMESPACEPATH>
                                    <NAMESPACE NAME="smash"/>
                                </LOCALNAMESPACEPATH>
                                <INSTANCENAME CLASSNAME="OMC_UnitaryComputerSystem">
                                    <KEYBINDING NAME="CreationClassName">
                                        <KEYVALUE VALUETYPE="string">OMC_UnitaryComputerSystem</KEYVALUE>
                                    </KEYBINDING>
                                    <KEYBINDING NAME="Name">
                                        <KEYVALUE VALUETYPE="string">d1850.cim.lab.novell.com</KEYVALUE>
                                    </KEYBINDING>
                                </INSTANCENAME>
                            </LOCALINSTANCEPATH>
                        </VALUE.REFERENCE>
                    </KEYBINDING>
            */
            #region 2nd KeyBinding
            /*
                    <KEYBINDING NAME="PartComponent">
                        <VALUE.REFERENCE>
                            <LOCALINSTANCEPATH>
                                <LOCALNAMESPACEPATH>
                                    <NAMESPACE NAME="smash"/>
                                </LOCALNAMESPACEPATH>
                                <INSTANCENAME CLASSNAME="OMC_OperatingSystem">
                                    <KEYBINDING NAME="CSName">
                                        <KEYVALUE VALUETYPE="string">d1850.cim.lab.novell.com</KEYVALUE>
                                    </KEYBINDING>
                                    <KEYBINDING NAME="CreationClassName">
                                        <KEYVALUE VALUETYPE="string">OMC_OperatingSystem</KEYVALUE>
                                    </KEYBINDING>
                                    <KEYBINDING NAME="Name">
                                        <KEYVALUE VALUETYPE="string">Linux</KEYVALUE>
                                    </KEYBINDING>
                                    <KEYBINDING NAME="CSCreationClassName">
                                        <KEYVALUE VALUETYPE="string">OMC_UnitaryComputerSystem</KEYVALUE>
                                    </KEYBINDING>
                                </INSTANCENAME>
                            </LOCALINSTANCEPATH>
                        </VALUE.REFERENCE>
                    </KEYBINDING>
            */
                    #endregion
            /*
                </INSTANCENAME>
            </IPARAMVALUE>
            [...]
            */
            #endregion

            //// <IPARAMVALUE NAME="InstanceName">
            //this.WriteIParameterElement();
            //this.WriteNameAttributeString("InstanceName");

            // <INSTANCENAME CLASSNAME="OMC_InstalledOS">
            this.WriteInstanceNameElement();
            this.WriteClassNameAttributeString(instanceName.ClassName);

            if ( (instanceName.KeyBindings.Count == 1) &&
                 (instanceName.KeyBindings[0].Type == CimKeyBinding.RefType.KeyValue) &&
                 (instanceName.KeyBindings[0].Name == "KeyValue"))
            {
                WriteCimKeyValue((CimKeyValue)instanceName.KeyBindings[0].Value);
            }
            else if ((instanceName.KeyBindings.Count == 1) &&
                     (instanceName.KeyBindings[0].Type == CimKeyBinding.RefType.ValueReference) &&
                     (instanceName.KeyBindings[0].Name == "ValueReference"))
            {
                WriteCimValueReference((CimValueReference)instanceName.KeyBindings[0].Value);
            }
            else
            {
                //Chaning for MONO
                for(int i = 0; i < instanceName.KeyBindings.Count;++i)
                {
                    WriteCimKeyBinding(instanceName.KeyBindings[i]);
                }
            }

            //     </INSTANCENAME>
            this.WriteEndElement();

            ////  </IPARAMVALUE>
            //this.WriteEndElement();
        }