http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1601498b/plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.v2.Msvm_EthernetSwitchPortVlanSettingData.cs
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.v2.Msvm_EthernetSwitchPortVlanSettingData.cs
 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.v2.Msvm_EthernetSwitchPortVlanSettingData.cs
new file mode 100755
index 0000000..5478235
--- /dev/null
+++ 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.v2.Msvm_EthernetSwitchPortVlanSettingData.cs
@@ -0,0 +1,1005 @@
+namespace CloudStack.Plugin.WmiWrappers.ROOT.VIRTUALIZATION.V2 {
+    using System;
+    using System.ComponentModel;
+    using System.Management;
+    using System.Collections;
+    using System.Globalization;
+    using System.ComponentModel.Design.Serialization;
+    using System.Reflection;
+    
+    
+    // Functions ShouldSerialize<PropertyName> are functions used by VS 
property browser to check if a particular property has to be serialized. These 
functions are added for all ValueType properties ( properties of type Int32, 
BOOL etc.. which cannot be set to null). These functions use 
Is<PropertyName>Null function. These functions are also used in the 
TypeConverter implementation for the properties to check for NULL value of 
property so that an empty value can be shown in Property browser in case of 
Drag and Drop in Visual studio.
+    // Functions Is<PropertyName>Null() are used to check if a property is 
NULL.
+    // Functions Reset<PropertyName> are added for Nullable Read/Write 
properties. These functions are used by VS designer in property browser to set 
a property to NULL.
+    // Every property added to the class for WMI property has attributes set 
to define its behavior in Visual Studio designer and also to define a 
TypeConverter to be used.
+    // An Early Bound class generated for the WMI 
class.Msvm_EthernetSwitchPortVlanSettingData
+    public class EthernetSwitchPortVlanSettingData : 
System.ComponentModel.Component {
+        
+        // Private property to hold the WMI namespace in which the class 
resides.
+        private static string CreatedWmiNamespace = "ROOT\\virtualization\\v2";
+        
+        // Private property to hold the name of WMI class which created this 
class.
+        public static string CreatedClassName = 
"Msvm_EthernetSwitchPortVlanSettingData";
+        
+        // Private member variable to hold the ManagementScope which is used 
by the various methods.
+        private static System.Management.ManagementScope statMgmtScope = null;
+        
+        private ManagementSystemProperties PrivateSystemProperties;
+        
+        // Underlying lateBound WMI object.
+        private System.Management.ManagementObject PrivateLateBoundObject;
+        
+        // Member variable to store the 'automatic commit' behavior for the 
class.
+        private bool AutoCommitProp;
+        
+        // Private variable to hold the embedded property representing the 
instance.
+        private System.Management.ManagementBaseObject embeddedObj;
+        
+        // The current WMI object used
+        private System.Management.ManagementBaseObject curObj;
+        
+        // Flag to indicate if the instance is an embedded object.
+        private bool isEmbedded;
+        
+        // Below are different overloads of constructors to initialize an 
instance of the class with a WMI object.
+        public EthernetSwitchPortVlanSettingData() {
+            this.InitializeObject(null, null, null);
+        }
+        
+        public EthernetSwitchPortVlanSettingData(string keyInstanceID) {
+            this.InitializeObject(null, new 
System.Management.ManagementPath(EthernetSwitchPortVlanSettingData.ConstructPath(keyInstanceID)),
 null);
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementScope mgmtScope, 
string keyInstanceID) {
+            
this.InitializeObject(((System.Management.ManagementScope)(mgmtScope)), new 
System.Management.ManagementPath(EthernetSwitchPortVlanSettingData.ConstructPath(keyInstanceID)),
 null);
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementPath path, 
System.Management.ObjectGetOptions getOptions) {
+            this.InitializeObject(null, path, getOptions);
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementScope mgmtScope, 
System.Management.ManagementPath path) {
+            this.InitializeObject(mgmtScope, path, null);
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementPath path) {
+            this.InitializeObject(null, path, null);
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementScope mgmtScope, 
System.Management.ManagementPath path, System.Management.ObjectGetOptions 
getOptions) {
+            this.InitializeObject(mgmtScope, path, getOptions);
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementObject theObject) 
{
+            Initialize();
+            if ((CheckIfProperClass(theObject) == true)) {
+                PrivateLateBoundObject = theObject;
+                PrivateSystemProperties = new 
ManagementSystemProperties(PrivateLateBoundObject);
+                curObj = PrivateLateBoundObject;
+            }
+            else {
+                throw new System.ArgumentException("Class name does not 
match.");
+            }
+        }
+        
+        public 
EthernetSwitchPortVlanSettingData(System.Management.ManagementBaseObject 
theObject) {
+            Initialize();
+            if ((CheckIfProperClass(theObject) == true)) {
+                embeddedObj = theObject;
+                PrivateSystemProperties = new 
ManagementSystemProperties(theObject);
+                curObj = embeddedObj;
+                isEmbedded = true;
+            }
+            else {
+                throw new System.ArgumentException("Class name does not 
match.");
+            }
+        }
+        
+        // Property returns the namespace of the WMI class.
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public string OriginatingNamespace {
+            get {
+                return "ROOT\\virtualization\\v2";
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public string ManagementClassName {
+            get {
+                string strRet = CreatedClassName;
+                if ((curObj != null)) {
+                    if ((curObj.ClassPath != null)) {
+                        strRet = ((string)(curObj["__CLASS"]));
+                        if (((strRet == null) 
+                                    || (strRet == string.Empty))) {
+                            strRet = CreatedClassName;
+                        }
+                    }
+                }
+                return strRet;
+            }
+        }
+        
+        // Property pointing to an embedded object to get System properties of 
the WMI object.
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public ManagementSystemProperties SystemProperties {
+            get {
+                return PrivateSystemProperties;
+            }
+        }
+        
+        // Property returning the underlying lateBound object.
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public System.Management.ManagementBaseObject LateBoundObject {
+            get {
+                return curObj;
+            }
+        }
+        
+        // ManagementScope of the object.
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public System.Management.ManagementScope Scope {
+            get {
+                if ((isEmbedded == false)) {
+                    return PrivateLateBoundObject.Scope;
+                }
+                else {
+                    return null;
+                }
+            }
+            set {
+                if ((isEmbedded == false)) {
+                    PrivateLateBoundObject.Scope = value;
+                }
+            }
+        }
+        
+        // Property to show the commit behavior for the WMI object. If true, 
WMI object will be automatically saved after each property modification.(ie. 
Put() is called after modification of a property).
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool AutoCommit {
+            get {
+                return AutoCommitProp;
+            }
+            set {
+                AutoCommitProp = value;
+            }
+        }
+        
+        // The ManagementPath of the underlying WMI object.
+        [Browsable(true)]
+        public System.Management.ManagementPath Path {
+            get {
+                if ((isEmbedded == false)) {
+                    return PrivateLateBoundObject.Path;
+                }
+                else {
+                    return null;
+                }
+            }
+            set {
+                if ((isEmbedded == false)) {
+                    if ((CheckIfProperClass(null, value, null) != true)) {
+                        throw new System.ArgumentException("Class name does 
not match.");
+                    }
+                    PrivateLateBoundObject.Path = value;
+                }
+            }
+        }
+        
+        // Public static scope property which is used by the various methods.
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public static System.Management.ManagementScope StaticScope {
+            get {
+                return statMgmtScope;
+            }
+            set {
+                statMgmtScope = value;
+            }
+        }
+        
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool IsAccessVlanIdNull {
+            get {
+                if ((curObj["AccessVlanId"] == null)) {
+                    return true;
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The vlan ID in access mode.")]
+        [TypeConverter(typeof(WMIValueTypeConverter))]
+        public ushort AccessVlanId {
+            get {
+                if ((curObj["AccessVlanId"] == null)) {
+                    return System.Convert.ToUInt16(0);
+                }
+                return ((ushort)(curObj["AccessVlanId"]));
+            }
+            set {
+                curObj["AccessVlanId"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public string Caption {
+            get {
+                return ((string)(curObj["Caption"]));
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public string Description {
+            get {
+                return ((string)(curObj["Description"]));
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public string ElementName {
+            get {
+                return ((string)(curObj["ElementName"]));
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public string InstanceID {
+            get {
+                return ((string)(curObj["InstanceID"]));
+            }
+        }
+        
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool IsNativeVlanIdNull {
+            get {
+                if ((curObj["NativeVlanId"] == null)) {
+                    return true;
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The vlan ID in trunk mode.")]
+        [TypeConverter(typeof(WMIValueTypeConverter))]
+        public ushort NativeVlanId {
+            get {
+                if ((curObj["NativeVlanId"] == null)) {
+                    return System.Convert.ToUInt16(0);
+                }
+                return ((ushort)(curObj["NativeVlanId"]));
+            }
+            set {
+                curObj["NativeVlanId"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool IsOperationModeNull {
+            get {
+                if ((curObj["OperationMode"] == null)) {
+                    return true;
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The vlan operation modes.")]
+        [TypeConverter(typeof(WMIValueTypeConverter))]
+        public OperationModeValues OperationMode {
+            get {
+                if ((curObj["OperationMode"] == null)) {
+                    return ((OperationModeValues)(System.Convert.ToInt32(0)));
+                }
+                return 
((OperationModeValues)(System.Convert.ToInt32(curObj["OperationMode"])));
+            }
+            set {
+                if ((OperationModeValues.NULL_ENUM_VALUE == value)) {
+                    curObj["OperationMode"] = null;
+                }
+                else {
+                    curObj["OperationMode"] = value;
+                }
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool IsPrimaryVlanIdNull {
+            get {
+                if ((curObj["PrimaryVlanId"] == null)) {
+                    return true;
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The primary vlan ID in private mode.")]
+        [TypeConverter(typeof(WMIValueTypeConverter))]
+        public ushort PrimaryVlanId {
+            get {
+                if ((curObj["PrimaryVlanId"] == null)) {
+                    return System.Convert.ToUInt16(0);
+                }
+                return ((ushort)(curObj["PrimaryVlanId"]));
+            }
+            set {
+                curObj["PrimaryVlanId"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The prune vlan ID bitmap in trunk mode.")]
+        public ushort[] PruneVlanIdArray {
+            get {
+                return ((ushort[])(curObj["PruneVlanIdArray"]));
+            }
+            set {
+                curObj["PruneVlanIdArray"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool IsPvlanModeNull {
+            get {
+                if ((curObj["PvlanMode"] == null)) {
+                    return true;
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The private vlan modes.")]
+        [TypeConverter(typeof(WMIValueTypeConverter))]
+        public PvlanModeValues PvlanMode {
+            get {
+                if ((curObj["PvlanMode"] == null)) {
+                    return ((PvlanModeValues)(System.Convert.ToInt32(0)));
+                }
+                return 
((PvlanModeValues)(System.Convert.ToInt32(curObj["PvlanMode"])));
+            }
+            set {
+                if ((PvlanModeValues.NULL_ENUM_VALUE == value)) {
+                    curObj["PvlanMode"] = null;
+                }
+                else {
+                    curObj["PvlanMode"] = value;
+                }
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(false)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        public bool IsSecondaryVlanIdNull {
+            get {
+                if ((curObj["SecondaryVlanId"] == null)) {
+                    return true;
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The secondary vlan ID in private mode.")]
+        [TypeConverter(typeof(WMIValueTypeConverter))]
+        public ushort SecondaryVlanId {
+            get {
+                if ((curObj["SecondaryVlanId"] == null)) {
+                    return System.Convert.ToUInt16(0);
+                }
+                return ((ushort)(curObj["SecondaryVlanId"]));
+            }
+            set {
+                curObj["SecondaryVlanId"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The secondary vlan ID bitmap in private mode.")]
+        public ushort[] SecondaryVlanIdArray {
+            get {
+                return ((ushort[])(curObj["SecondaryVlanIdArray"]));
+            }
+            set {
+                curObj["SecondaryVlanIdArray"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        [Browsable(true)]
+        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
+        [Description("The trunk vlan ID bitmap in trunk mode.")]
+        public ushort[] TrunkVlanIdArray {
+            get {
+                return ((ushort[])(curObj["TrunkVlanIdArray"]));
+            }
+            set {
+                curObj["TrunkVlanIdArray"] = value;
+                if (((isEmbedded == false) 
+                            && (AutoCommitProp == true))) {
+                    PrivateLateBoundObject.Put();
+                }
+            }
+        }
+        
+        private bool CheckIfProperClass(System.Management.ManagementScope 
mgmtScope, System.Management.ManagementPath path, 
System.Management.ObjectGetOptions OptionsParam) {
+            if (((path != null) 
+                        && (string.Compare(path.ClassName, 
this.ManagementClassName, true, 
System.Globalization.CultureInfo.InvariantCulture) == 0))) {
+                return true;
+            }
+            else {
+                return CheckIfProperClass(new 
System.Management.ManagementObject(mgmtScope, path, OptionsParam));
+            }
+        }
+        
+        private bool CheckIfProperClass(System.Management.ManagementBaseObject 
theObj) {
+            if (((theObj != null) 
+                        && (string.Compare(((string)(theObj["__CLASS"])), 
this.ManagementClassName, true, 
System.Globalization.CultureInfo.InvariantCulture) == 0))) {
+                return true;
+            }
+            else {
+                System.Array parentClasses = 
((System.Array)(theObj["__DERIVATION"]));
+                if ((parentClasses != null)) {
+                    int count = 0;
+                    for (count = 0; (count < parentClasses.Length); count = 
(count + 1)) {
+                        if 
((string.Compare(((string)(parentClasses.GetValue(count))), 
this.ManagementClassName, true, 
System.Globalization.CultureInfo.InvariantCulture) == 0)) {
+                            return true;
+                        }
+                    }
+                }
+            }
+            return false;
+        }
+        
+        private bool ShouldSerializeAccessVlanId() {
+            if ((this.IsAccessVlanIdNull == false)) {
+                return true;
+            }
+            return false;
+        }
+        
+        private void ResetAccessVlanId() {
+            curObj["AccessVlanId"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private bool ShouldSerializeNativeVlanId() {
+            if ((this.IsNativeVlanIdNull == false)) {
+                return true;
+            }
+            return false;
+        }
+        
+        private void ResetNativeVlanId() {
+            curObj["NativeVlanId"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private bool ShouldSerializeOperationMode() {
+            if ((this.IsOperationModeNull == false)) {
+                return true;
+            }
+            return false;
+        }
+        
+        private void ResetOperationMode() {
+            curObj["OperationMode"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private bool ShouldSerializePrimaryVlanId() {
+            if ((this.IsPrimaryVlanIdNull == false)) {
+                return true;
+            }
+            return false;
+        }
+        
+        private void ResetPrimaryVlanId() {
+            curObj["PrimaryVlanId"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private void ResetPruneVlanIdArray() {
+            curObj["PruneVlanIdArray"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private bool ShouldSerializePvlanMode() {
+            if ((this.IsPvlanModeNull == false)) {
+                return true;
+            }
+            return false;
+        }
+        
+        private void ResetPvlanMode() {
+            curObj["PvlanMode"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private bool ShouldSerializeSecondaryVlanId() {
+            if ((this.IsSecondaryVlanIdNull == false)) {
+                return true;
+            }
+            return false;
+        }
+        
+        private void ResetSecondaryVlanId() {
+            curObj["SecondaryVlanId"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private void ResetSecondaryVlanIdArray() {
+            curObj["SecondaryVlanIdArray"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        private void ResetTrunkVlanIdArray() {
+            curObj["TrunkVlanIdArray"] = null;
+            if (((isEmbedded == false) 
+                        && (AutoCommitProp == true))) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        [Browsable(true)]
+        public void CommitObject() {
+            if ((isEmbedded == false)) {
+                PrivateLateBoundObject.Put();
+            }
+        }
+        
+        [Browsable(true)]
+        public void CommitObject(System.Management.PutOptions putOptions) {
+            if ((isEmbedded == false)) {
+                PrivateLateBoundObject.Put(putOptions);
+            }
+        }
+        
+        private void Initialize() {
+            AutoCommitProp = true;
+            isEmbedded = false;
+        }
+        
+        private static string ConstructPath(string keyInstanceID) {
+            string strPath = 
"ROOT\\virtualization\\v2:Msvm_EthernetSwitchPortVlanSettingData";
+            strPath = string.Concat(strPath, string.Concat(".InstanceID=", 
string.Concat("\"", string.Concat(keyInstanceID, "\""))));
+            return strPath;
+        }
+        
+        private void InitializeObject(System.Management.ManagementScope 
mgmtScope, System.Management.ManagementPath path, 
System.Management.ObjectGetOptions getOptions) {
+            Initialize();
+            if ((path != null)) {
+                if ((CheckIfProperClass(mgmtScope, path, getOptions) != true)) 
{
+                    throw new System.ArgumentException("Class name does not 
match.");
+                }
+            }
+            PrivateLateBoundObject = new 
System.Management.ManagementObject(mgmtScope, path, getOptions);
+            PrivateSystemProperties = new 
ManagementSystemProperties(PrivateLateBoundObject);
+            curObj = PrivateLateBoundObject;
+        }
+        
+        // Different overloads of GetInstances() help in enumerating instances 
of the WMI class.
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances() {
+            return GetInstances(null, null, null);
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(string condition) {
+            return GetInstances(null, condition, null);
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(string[] selectedProperties) {
+            return GetInstances(null, null, selectedProperties);
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(string condition, string[] selectedProperties) {
+            return GetInstances(null, condition, selectedProperties);
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(System.Management.ManagementScope mgmtScope, 
System.Management.EnumerationOptions enumOptions) {
+            if ((mgmtScope == null)) {
+                if ((statMgmtScope == null)) {
+                    mgmtScope = new System.Management.ManagementScope();
+                    mgmtScope.Path.NamespacePath = "root\\virtualization\\v2";
+                }
+                else {
+                    mgmtScope = statMgmtScope;
+                }
+            }
+            System.Management.ManagementPath pathObj = new 
System.Management.ManagementPath();
+            pathObj.ClassName = "Msvm_EthernetSwitchPortVlanSettingData";
+            pathObj.NamespacePath = "root\\virtualization\\v2";
+            System.Management.ManagementClass clsObject = new 
System.Management.ManagementClass(mgmtScope, pathObj, null);
+            if ((enumOptions == null)) {
+                enumOptions = new System.Management.EnumerationOptions();
+                enumOptions.EnsureLocatable = true;
+            }
+            return new 
EthernetSwitchPortVlanSettingDataCollection(clsObject.GetInstances(enumOptions));
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(System.Management.ManagementScope mgmtScope, string condition) {
+            return GetInstances(mgmtScope, condition, null);
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(System.Management.ManagementScope mgmtScope, string[] 
selectedProperties) {
+            return GetInstances(mgmtScope, null, selectedProperties);
+        }
+        
+        public static EthernetSwitchPortVlanSettingDataCollection 
GetInstances(System.Management.ManagementScope mgmtScope, string condition, 
string[] selectedProperties) {
+            if ((mgmtScope == null)) {
+                if ((statMgmtScope == null)) {
+                    mgmtScope = new System.Management.ManagementScope();
+                    mgmtScope.Path.NamespacePath = "root\\virtualization\\v2";
+                }
+                else {
+                    mgmtScope = statMgmtScope;
+                }
+            }
+            System.Management.ManagementObjectSearcher ObjectSearcher = new 
System.Management.ManagementObjectSearcher(mgmtScope, new 
SelectQuery("Msvm_EthernetSwitchPortVlanSettingData", condition, 
selectedProperties));
+            System.Management.EnumerationOptions enumOptions = new 
System.Management.EnumerationOptions();
+            enumOptions.EnsureLocatable = true;
+            ObjectSearcher.Options = enumOptions;
+            return new 
EthernetSwitchPortVlanSettingDataCollection(ObjectSearcher.Get());
+        }
+        
+        [Browsable(true)]
+        public static EthernetSwitchPortVlanSettingData CreateInstance() {
+            System.Management.ManagementScope mgmtScope = null;
+            if ((statMgmtScope == null)) {
+                mgmtScope = new System.Management.ManagementScope();
+                mgmtScope.Path.NamespacePath = CreatedWmiNamespace;
+            }
+            else {
+                mgmtScope = statMgmtScope;
+            }
+            System.Management.ManagementPath mgmtPath = new 
System.Management.ManagementPath(CreatedClassName);
+            System.Management.ManagementClass tmpMgmtClass = new 
System.Management.ManagementClass(mgmtScope, mgmtPath, null);
+            return new 
EthernetSwitchPortVlanSettingData(tmpMgmtClass.CreateInstance());
+        }
+        
+        [Browsable(true)]
+        public void Delete() {
+            PrivateLateBoundObject.Delete();
+        }
+        
+        public enum OperationModeValues {
+            
+            Access = 1,
+            
+            Trunk = 2,
+            
+            Private = 3,
+            
+            NULL_ENUM_VALUE = 0,
+        }
+        
+        public enum PvlanModeValues {
+            
+            Isolated = 1,
+            
+            Community = 2,
+            
+            Promiscuous = 3,
+            
+            NULL_ENUM_VALUE = 0,
+        }
+        
+        // Enumerator implementation for enumerating instances of the class.
+        public class EthernetSwitchPortVlanSettingDataCollection : object, 
ICollection {
+            
+            private ManagementObjectCollection privColObj;
+            
+            public 
EthernetSwitchPortVlanSettingDataCollection(ManagementObjectCollection 
objCollection) {
+                privColObj = objCollection;
+            }
+            
+            public virtual int Count {
+                get {
+                    return privColObj.Count;
+                }
+            }
+            
+            public virtual bool IsSynchronized {
+                get {
+                    return privColObj.IsSynchronized;
+                }
+            }
+            
+            public virtual object SyncRoot {
+                get {
+                    return this;
+                }
+            }
+            
+            public virtual void CopyTo(System.Array array, int index) {
+                privColObj.CopyTo(array, index);
+                int nCtr;
+                for (nCtr = 0; (nCtr < array.Length); nCtr = (nCtr + 1)) {
+                    array.SetValue(new 
EthernetSwitchPortVlanSettingData(((System.Management.ManagementObject)(array.GetValue(nCtr)))),
 nCtr);
+                }
+            }
+            
+            public virtual System.Collections.IEnumerator GetEnumerator() {
+                return new 
EthernetSwitchPortVlanSettingDataEnumerator(privColObj.GetEnumerator());
+            }
+            
+            public class EthernetSwitchPortVlanSettingDataEnumerator : object, 
System.Collections.IEnumerator {
+                
+                private ManagementObjectCollection.ManagementObjectEnumerator 
privObjEnum;
+                
+                public 
EthernetSwitchPortVlanSettingDataEnumerator(ManagementObjectCollection.ManagementObjectEnumerator
 objEnum) {
+                    privObjEnum = objEnum;
+                }
+                
+                public virtual object Current {
+                    get {
+                        return new 
EthernetSwitchPortVlanSettingData(((System.Management.ManagementObject)(privObjEnum.Current)));
+                    }
+                }
+                
+                public virtual bool MoveNext() {
+                    return privObjEnum.MoveNext();
+                }
+                
+                public virtual void Reset() {
+                    privObjEnum.Reset();
+                }
+            }
+        }
+        
+        // TypeConverter to handle null values for ValueType properties
+        public class WMIValueTypeConverter : TypeConverter {
+            
+            private TypeConverter baseConverter;
+            
+            private System.Type baseType;
+            
+            public WMIValueTypeConverter(System.Type inBaseType) {
+                baseConverter = TypeDescriptor.GetConverter(inBaseType);
+                baseType = inBaseType;
+            }
+            
+            public override bool 
CanConvertFrom(System.ComponentModel.ITypeDescriptorContext context, 
System.Type srcType) {
+                return baseConverter.CanConvertFrom(context, srcType);
+            }
+            
+            public override bool 
CanConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Type 
destinationType) {
+                return baseConverter.CanConvertTo(context, destinationType);
+            }
+            
+            public override object 
ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, 
System.Globalization.CultureInfo culture, object value) {
+                return baseConverter.ConvertFrom(context, culture, value);
+            }
+            
+            public override object 
CreateInstance(System.ComponentModel.ITypeDescriptorContext context, 
System.Collections.IDictionary dictionary) {
+                return baseConverter.CreateInstance(context, dictionary);
+            }
+            
+            public override bool 
GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext 
context) {
+                return baseConverter.GetCreateInstanceSupported(context);
+            }
+            
+            public override PropertyDescriptorCollection 
GetProperties(System.ComponentModel.ITypeDescriptorContext context, object 
value, System.Attribute[] attributeVar) {
+                return baseConverter.GetProperties(context, value, 
attributeVar);
+            }
+            
+            public override bool 
GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext context) {
+                return baseConverter.GetPropertiesSupported(context);
+            }
+            
+            public override 
System.ComponentModel.TypeConverter.StandardValuesCollection 
GetStandardValues(System.ComponentModel.ITypeDescriptorContext context) {
+                return baseConverter.GetStandardValues(context);
+            }
+            
+            public override bool 
GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext 
context) {
+                return baseConverter.GetStandardValuesExclusive(context);
+            }
+            
+            public override bool 
GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext 
context) {
+                return baseConverter.GetStandardValuesSupported(context);
+            }
+            
+            public override object 
ConvertTo(System.ComponentModel.ITypeDescriptorContext context, 
System.Globalization.CultureInfo culture, object value, System.Type 
destinationType) {
+                if ((baseType.BaseType == typeof(System.Enum))) {
+                    if ((value.GetType() == destinationType)) {
+                        return value;
+                    }
+                    if ((((value == null) 
+                                && (context != null)) 
+                                && 
(context.PropertyDescriptor.ShouldSerializeValue(context.Instance) == false))) {
+                        return  "NULL_ENUM_VALUE" ;
+                    }
+                    return baseConverter.ConvertTo(context, culture, value, 
destinationType);
+                }
+                if (((baseType == typeof(bool)) 
+                            && (baseType.BaseType == 
typeof(System.ValueType)))) {
+                    if ((((value == null) 
+                                && (context != null)) 
+                                && 
(context.PropertyDescriptor.ShouldSerializeValue(context.Instance) == false))) {
+                        return "";
+                    }
+                    return baseConverter.ConvertTo(context, culture, value, 
destinationType);
+                }
+                if (((context != null) 
+                            && 
(context.PropertyDescriptor.ShouldSerializeValue(context.Instance) == false))) {
+                    return "";
+                }
+                return baseConverter.ConvertTo(context, culture, value, 
destinationType);
+            }
+        }
+        
+        // Embedded class to represent WMI system Properties.
+        
[TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
+        public class ManagementSystemProperties {
+            
+            private System.Management.ManagementBaseObject 
PrivateLateBoundObject;
+            
+            public 
ManagementSystemProperties(System.Management.ManagementBaseObject 
ManagedObject) {
+                PrivateLateBoundObject = ManagedObject;
+            }
+            
+            [Browsable(true)]
+            public int GENUS {
+                get {
+                    return ((int)(PrivateLateBoundObject["__GENUS"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string CLASS {
+                get {
+                    return ((string)(PrivateLateBoundObject["__CLASS"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string SUPERCLASS {
+                get {
+                    return ((string)(PrivateLateBoundObject["__SUPERCLASS"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string DYNASTY {
+                get {
+                    return ((string)(PrivateLateBoundObject["__DYNASTY"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string RELPATH {
+                get {
+                    return ((string)(PrivateLateBoundObject["__RELPATH"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public int PROPERTY_COUNT {
+                get {
+                    return ((int)(PrivateLateBoundObject["__PROPERTY_COUNT"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string[] DERIVATION {
+                get {
+                    return 
((string[])(PrivateLateBoundObject["__DERIVATION"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string SERVER {
+                get {
+                    return ((string)(PrivateLateBoundObject["__SERVER"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string NAMESPACE {
+                get {
+                    return ((string)(PrivateLateBoundObject["__NAMESPACE"]));
+                }
+            }
+            
+            [Browsable(true)]
+            public string PATH {
+                get {
+                    return ((string)(PrivateLateBoundObject["__PATH"]));
+                }
+            }
+        }
+    }
+}

Reply via email to