public CpProxyAvOpenhomeOrgProduct1(ICpDevice aDevice)
: base("av-openhome-org", "Product", 1, aDevice)
{
OpenHome.Net.Core.Parameter param;
List<String> allowedValues = new List<String>();
iActionManufacturer = new OpenHome.Net.Core.Action("Manufacturer");
param = new ParameterString("Name", allowedValues);
iActionManufacturer.AddOutputParameter(param);
param = new ParameterString("Info", allowedValues);
iActionManufacturer.AddOutputParameter(param);
param = new ParameterString("Url", allowedValues);
iActionManufacturer.AddOutputParameter(param);
param = new ParameterString("ImageUri", allowedValues);
iActionManufacturer.AddOutputParameter(param);
iActionModel = new OpenHome.Net.Core.Action("Model");
param = new ParameterString("Name", allowedValues);
iActionModel.AddOutputParameter(param);
param = new ParameterString("Info", allowedValues);
iActionModel.AddOutputParameter(param);
param = new ParameterString("Url", allowedValues);
iActionModel.AddOutputParameter(param);
param = new ParameterString("ImageUri", allowedValues);
iActionModel.AddOutputParameter(param);
iActionProduct = new OpenHome.Net.Core.Action("Product");
param = new ParameterString("Room", allowedValues);
iActionProduct.AddOutputParameter(param);
param = new ParameterString("Name", allowedValues);
iActionProduct.AddOutputParameter(param);
param = new ParameterString("Info", allowedValues);
iActionProduct.AddOutputParameter(param);
param = new ParameterString("Url", allowedValues);
iActionProduct.AddOutputParameter(param);
param = new ParameterString("ImageUri", allowedValues);
iActionProduct.AddOutputParameter(param);
iActionStandby = new OpenHome.Net.Core.Action("Standby");
param = new ParameterBool("Value");
iActionStandby.AddOutputParameter(param);
iActionSetStandby = new OpenHome.Net.Core.Action("SetStandby");
param = new ParameterBool("Value");
iActionSetStandby.AddInputParameter(param);
iActionSourceCount = new OpenHome.Net.Core.Action("SourceCount");
param = new ParameterUint("Value");
iActionSourceCount.AddOutputParameter(param);
iActionSourceXml = new OpenHome.Net.Core.Action("SourceXml");
param = new ParameterString("Value", allowedValues);
iActionSourceXml.AddOutputParameter(param);
iActionSourceIndex = new OpenHome.Net.Core.Action("SourceIndex");
param = new ParameterUint("Value");
iActionSourceIndex.AddOutputParameter(param);
iActionSetSourceIndex = new OpenHome.Net.Core.Action("SetSourceIndex");
param = new ParameterUint("Value");
iActionSetSourceIndex.AddInputParameter(param);
iActionSetSourceIndexByName = new OpenHome.Net.Core.Action("SetSourceIndexByName");
param = new ParameterString("Value", allowedValues);
iActionSetSourceIndexByName.AddInputParameter(param);
iActionSource = new OpenHome.Net.Core.Action("Source");
param = new ParameterUint("Index");
iActionSource.AddInputParameter(param);
param = new ParameterString("SystemName", allowedValues);
iActionSource.AddOutputParameter(param);
param = new ParameterString("Type", allowedValues);
iActionSource.AddOutputParameter(param);
param = new ParameterString("Name", allowedValues);
iActionSource.AddOutputParameter(param);
param = new ParameterBool("Visible");
iActionSource.AddOutputParameter(param);
iActionAttributes = new OpenHome.Net.Core.Action("Attributes");
param = new ParameterString("Value", allowedValues);
iActionAttributes.AddOutputParameter(param);
iActionSourceXmlChangeCount = new OpenHome.Net.Core.Action("SourceXmlChangeCount");
param = new ParameterUint("Value");
iActionSourceXmlChangeCount.AddOutputParameter(param);
iManufacturerName = new PropertyString("ManufacturerName", ManufacturerNamePropertyChanged);
AddProperty(iManufacturerName);
iManufacturerInfo = new PropertyString("ManufacturerInfo", ManufacturerInfoPropertyChanged);
AddProperty(iManufacturerInfo);
iManufacturerUrl = new PropertyString("ManufacturerUrl", ManufacturerUrlPropertyChanged);
AddProperty(iManufacturerUrl);
iManufacturerImageUri = new PropertyString("ManufacturerImageUri", ManufacturerImageUriPropertyChanged);
AddProperty(iManufacturerImageUri);
iModelName = new PropertyString("ModelName", ModelNamePropertyChanged);
AddProperty(iModelName);
iModelInfo = new PropertyString("ModelInfo", ModelInfoPropertyChanged);
AddProperty(iModelInfo);
iModelUrl = new PropertyString("ModelUrl", ModelUrlPropertyChanged);
AddProperty(iModelUrl);
iModelImageUri = new PropertyString("ModelImageUri", ModelImageUriPropertyChanged);
AddProperty(iModelImageUri);
iProductRoom = new PropertyString("ProductRoom", ProductRoomPropertyChanged);
AddProperty(iProductRoom);
iProductName = new PropertyString("ProductName", ProductNamePropertyChanged);
AddProperty(iProductName);
iProductInfo = new PropertyString("ProductInfo", ProductInfoPropertyChanged);
AddProperty(iProductInfo);
iProductUrl = new PropertyString("ProductUrl", ProductUrlPropertyChanged);
AddProperty(iProductUrl);
iProductImageUri = new PropertyString("ProductImageUri", ProductImageUriPropertyChanged);
AddProperty(iProductImageUri);
iStandby = new PropertyBool("Standby", StandbyPropertyChanged);
AddProperty(iStandby);
iSourceIndex = new PropertyUint("SourceIndex", SourceIndexPropertyChanged);
AddProperty(iSourceIndex);
iSourceCount = new PropertyUint("SourceCount", SourceCountPropertyChanged);
AddProperty(iSourceCount);
iSourceXml = new PropertyString("SourceXml", SourceXmlPropertyChanged);
AddProperty(iSourceXml);
iAttributes = new PropertyString("Attributes", AttributesPropertyChanged);
AddProperty(iAttributes);
iPropertyLock = new Mutex();
}