public CpProxyAvOpenhomeOrgSender1(ICpDevice aDevice)
: base("av-openhome-org", "Sender", 1, aDevice)
{
OpenHome.Net.Core.Parameter param;
List<String> allowedValues = new List<String>();
iActionPresentationUrl = new OpenHome.Net.Core.Action("PresentationUrl");
param = new ParameterString("Value", allowedValues);
iActionPresentationUrl.AddOutputParameter(param);
iActionMetadata = new OpenHome.Net.Core.Action("Metadata");
param = new ParameterString("Value", allowedValues);
iActionMetadata.AddOutputParameter(param);
iActionAudio = new OpenHome.Net.Core.Action("Audio");
param = new ParameterBool("Value");
iActionAudio.AddOutputParameter(param);
iActionStatus = new OpenHome.Net.Core.Action("Status");
allowedValues.Add("Enabled");
allowedValues.Add("Disabled");
allowedValues.Add("Blocked");
param = new ParameterString("Value", allowedValues);
iActionStatus.AddOutputParameter(param);
allowedValues.Clear();
iActionAttributes = new OpenHome.Net.Core.Action("Attributes");
param = new ParameterString("Value", allowedValues);
iActionAttributes.AddOutputParameter(param);
iPresentationUrl = new PropertyString("PresentationUrl", PresentationUrlPropertyChanged);
AddProperty(iPresentationUrl);
iMetadata = new PropertyString("Metadata", MetadataPropertyChanged);
AddProperty(iMetadata);
iAudio = new PropertyBool("Audio", AudioPropertyChanged);
AddProperty(iAudio);
iStatus = new PropertyString("Status", StatusPropertyChanged);
AddProperty(iStatus);
iAttributes = new PropertyString("Attributes", AttributesPropertyChanged);
AddProperty(iAttributes);
iPropertyLock = new Mutex();
}