/// <summary> /// Constructor /// </summary> /// <remarks>Use CpProxy::[Un]Subscribe() to enable/disable querying of state variable and reporting of their changes.</remarks> /// <param name="aDevice">The device to use</param> public CpProxyOpenhomeOrgTestBasic1(CpDevice aDevice) : base("openhome-org", "TestBasic", 1, aDevice) { OpenHome.Net.Core.Parameter param; List<String> allowedValues = new List<String>(); iActionIncrement = new OpenHome.Net.Core.Action("Increment"); param = new ParameterUint("Value"); iActionIncrement.AddInputParameter(param); param = new ParameterUint("Result"); iActionIncrement.AddOutputParameter(param); iActionEchoAllowedRangeUint = new OpenHome.Net.Core.Action("EchoAllowedRangeUint"); param = new ParameterUint("Value", 10, 20); iActionEchoAllowedRangeUint.AddInputParameter(param); param = new ParameterUint("Result"); iActionEchoAllowedRangeUint.AddOutputParameter(param); iActionDecrement = new OpenHome.Net.Core.Action("Decrement"); param = new ParameterInt("Value"); iActionDecrement.AddInputParameter(param); param = new ParameterInt("Result"); iActionDecrement.AddOutputParameter(param); iActionToggle = new OpenHome.Net.Core.Action("Toggle"); param = new ParameterBool("Value"); iActionToggle.AddInputParameter(param); param = new ParameterBool("Result"); iActionToggle.AddOutputParameter(param); iActionEchoString = new OpenHome.Net.Core.Action("EchoString"); param = new ParameterString("Value", allowedValues); iActionEchoString.AddInputParameter(param); param = new ParameterString("Result", allowedValues); iActionEchoString.AddOutputParameter(param); iActionEchoAllowedValueString = new OpenHome.Net.Core.Action("EchoAllowedValueString"); allowedValues.Add("One"); allowedValues.Add("Two"); allowedValues.Add("Three"); allowedValues.Add("Four"); param = new ParameterString("Value", allowedValues); iActionEchoAllowedValueString.AddInputParameter(param); allowedValues.Clear(); param = new ParameterString("Result", allowedValues); iActionEchoAllowedValueString.AddOutputParameter(param); iActionEchoBinary = new OpenHome.Net.Core.Action("EchoBinary"); param = new ParameterBinary("Value"); iActionEchoBinary.AddInputParameter(param); param = new ParameterBinary("Result"); iActionEchoBinary.AddOutputParameter(param); iActionSetUint = new OpenHome.Net.Core.Action("SetUint"); param = new ParameterUint("ValueUint"); iActionSetUint.AddInputParameter(param); iActionGetUint = new OpenHome.Net.Core.Action("GetUint"); param = new ParameterUint("ValueUint"); iActionGetUint.AddOutputParameter(param); iActionSetInt = new OpenHome.Net.Core.Action("SetInt"); param = new ParameterInt("ValueInt"); iActionSetInt.AddInputParameter(param); iActionGetInt = new OpenHome.Net.Core.Action("GetInt"); param = new ParameterInt("ValueInt"); iActionGetInt.AddOutputParameter(param); iActionSetBool = new OpenHome.Net.Core.Action("SetBool"); param = new ParameterBool("ValueBool"); iActionSetBool.AddInputParameter(param); iActionGetBool = new OpenHome.Net.Core.Action("GetBool"); param = new ParameterBool("ValueBool"); iActionGetBool.AddOutputParameter(param); iActionSetMultiple = new OpenHome.Net.Core.Action("SetMultiple"); param = new ParameterUint("ValueUint"); iActionSetMultiple.AddInputParameter(param); param = new ParameterInt("ValueInt"); iActionSetMultiple.AddInputParameter(param); param = new ParameterBool("ValueBool"); iActionSetMultiple.AddInputParameter(param); iActionGetMultiple = new OpenHome.Net.Core.Action("GetMultiple"); param = new ParameterUint("ValueUint"); iActionGetMultiple.AddOutputParameter(param); param = new ParameterInt("ValueInt"); iActionGetMultiple.AddOutputParameter(param); param = new ParameterBool("ValueBool"); iActionGetMultiple.AddOutputParameter(param); iActionSetString = new OpenHome.Net.Core.Action("SetString"); param = new ParameterString("ValueStr", allowedValues); iActionSetString.AddInputParameter(param); iActionGetString = new OpenHome.Net.Core.Action("GetString"); param = new ParameterString("ValueStr", allowedValues); iActionGetString.AddOutputParameter(param); iActionSetBinary = new OpenHome.Net.Core.Action("SetBinary"); param = new ParameterBinary("ValueBin"); iActionSetBinary.AddInputParameter(param); iActionGetBinary = new OpenHome.Net.Core.Action("GetBinary"); param = new ParameterBinary("ValueBin"); iActionGetBinary.AddOutputParameter(param); iActionToggleBool = new OpenHome.Net.Core.Action("ToggleBool"); iActionWriteFile = new OpenHome.Net.Core.Action("WriteFile"); param = new ParameterString("Data", allowedValues); iActionWriteFile.AddInputParameter(param); param = new ParameterString("FileFullName", allowedValues); iActionWriteFile.AddInputParameter(param); iActionShutdown = new OpenHome.Net.Core.Action("Shutdown"); iVarUint = new PropertyUint("VarUint", VarUintPropertyChanged); AddProperty(iVarUint); iVarInt = new PropertyInt("VarInt", VarIntPropertyChanged); AddProperty(iVarInt); iVarBool = new PropertyBool("VarBool", VarBoolPropertyChanged); AddProperty(iVarBool); iVarStr = new PropertyString("VarStr", VarStrPropertyChanged); AddProperty(iVarStr); iVarBin = new PropertyBinary("VarBin", VarBinPropertyChanged); AddProperty(iVarBin); iPropertyLock = new Mutex(); }
/// <summary> /// Utility function which updates the value of a PropertyInt. (Not intended for external use) /// </summary> /// <remarks>If the property value has changed and the properties are not locked (PropertiesLock() /// called more recently than PropertiesUnlock()), publication of an update is scheduled. /// /// Throws ParameterValidationError if the property has a range of allowed values and /// the new value is not in this range</remarks> /// <param name="aProperty">Property to be updated</param> /// <param name="aValue">New value for the property</param> /// <returns>true if the property's value has changed (aValue was different to the previous value)</returns> protected unsafe bool SetPropertyInt(PropertyInt aProperty, int aValue) { uint changed; int err = DvProviderSetPropertyInt(iHandle, aProperty.Handle(), aValue, &changed); if (err != 0) { throw new PropertyUpdateError(); } return (changed != 0); }
/// <summary> /// Constructor /// </summary> /// <remarks>Use CpProxy::[Un]Subscribe() to enable/disable querying of state variable and reporting of their changes.</remarks> /// <param name="aDevice">The device to use</param> public CpProxyAvOpenhomeOrgVolume1(CpDevice aDevice) : base("av-openhome-org", "Volume", 1, aDevice) { OpenHome.Net.Core.Parameter param; iActionCharacteristics = new OpenHome.Net.Core.Action("Characteristics"); param = new ParameterUint("VolumeMax"); iActionCharacteristics.AddOutputParameter(param); param = new ParameterUint("VolumeUnity"); iActionCharacteristics.AddOutputParameter(param); param = new ParameterUint("VolumeSteps"); iActionCharacteristics.AddOutputParameter(param); param = new ParameterUint("VolumeMilliDbPerStep"); iActionCharacteristics.AddOutputParameter(param); param = new ParameterUint("BalanceMax"); iActionCharacteristics.AddOutputParameter(param); param = new ParameterUint("FadeMax"); iActionCharacteristics.AddOutputParameter(param); iActionSetVolume = new OpenHome.Net.Core.Action("SetVolume"); param = new ParameterUint("Value"); iActionSetVolume.AddInputParameter(param); iActionVolumeInc = new OpenHome.Net.Core.Action("VolumeInc"); iActionVolumeDec = new OpenHome.Net.Core.Action("VolumeDec"); iActionVolume = new OpenHome.Net.Core.Action("Volume"); param = new ParameterUint("Value"); iActionVolume.AddOutputParameter(param); iActionSetBalance = new OpenHome.Net.Core.Action("SetBalance"); param = new ParameterInt("Value"); iActionSetBalance.AddInputParameter(param); iActionBalanceInc = new OpenHome.Net.Core.Action("BalanceInc"); iActionBalanceDec = new OpenHome.Net.Core.Action("BalanceDec"); iActionBalance = new OpenHome.Net.Core.Action("Balance"); param = new ParameterInt("Value"); iActionBalance.AddOutputParameter(param); iActionSetFade = new OpenHome.Net.Core.Action("SetFade"); param = new ParameterInt("Value"); iActionSetFade.AddInputParameter(param); iActionFadeInc = new OpenHome.Net.Core.Action("FadeInc"); iActionFadeDec = new OpenHome.Net.Core.Action("FadeDec"); iActionFade = new OpenHome.Net.Core.Action("Fade"); param = new ParameterInt("Value"); iActionFade.AddOutputParameter(param); iActionSetMute = new OpenHome.Net.Core.Action("SetMute"); param = new ParameterBool("Value"); iActionSetMute.AddInputParameter(param); iActionMute = new OpenHome.Net.Core.Action("Mute"); param = new ParameterBool("Value"); iActionMute.AddOutputParameter(param); iActionVolumeLimit = new OpenHome.Net.Core.Action("VolumeLimit"); param = new ParameterUint("Value"); iActionVolumeLimit.AddOutputParameter(param); iVolume = new PropertyUint("Volume", VolumePropertyChanged); AddProperty(iVolume); iMute = new PropertyBool("Mute", MutePropertyChanged); AddProperty(iMute); iBalance = new PropertyInt("Balance", BalancePropertyChanged); AddProperty(iBalance); iFade = new PropertyInt("Fade", FadePropertyChanged); AddProperty(iFade); iVolumeLimit = new PropertyUint("VolumeLimit", VolumeLimitPropertyChanged); AddProperty(iVolumeLimit); iVolumeMax = new PropertyUint("VolumeMax", VolumeMaxPropertyChanged); AddProperty(iVolumeMax); iVolumeUnity = new PropertyUint("VolumeUnity", VolumeUnityPropertyChanged); AddProperty(iVolumeUnity); iVolumeSteps = new PropertyUint("VolumeSteps", VolumeStepsPropertyChanged); AddProperty(iVolumeSteps); iVolumeMilliDbPerStep = new PropertyUint("VolumeMilliDbPerStep", VolumeMilliDbPerStepPropertyChanged); AddProperty(iVolumeMilliDbPerStep); iBalanceMax = new PropertyUint("BalanceMax", BalanceMaxPropertyChanged); AddProperty(iBalanceMax); iFadeMax = new PropertyUint("FadeMax", FadeMaxPropertyChanged); AddProperty(iFadeMax); iPropertyLock = new Mutex(); }
/// <summary> /// Enable the VarInt property. /// </summary> public void EnablePropertyVarInt() { iPropertyVarInt = new PropertyInt(new ParameterInt("VarInt")); AddProperty(iPropertyVarInt); }
/// <summary> /// Enable the Fade property. /// </summary> public void EnablePropertyFade() { iPropertyFade = new PropertyInt(new ParameterInt("Fade")); AddProperty(iPropertyFade); }
/// <summary> /// Enable the Balance property. /// </summary> public void EnablePropertyBalance() { iPropertyBalance = new PropertyInt(new ParameterInt("Balance")); AddProperty(iPropertyBalance); }
/// <summary> /// Constructor /// </summary> /// <param name="aDevice">Device which owns this provider</param> protected DvProviderOpenhomeOrgTestBasic1(DvDevice aDevice) : base(aDevice, "openhome.org", "TestBasic", 1) { iGch = GCHandle.Alloc(this); List<String> allowedValues = new List<String>(); iPropertyVarUint = new PropertyUint(new ParameterUint("VarUint")); AddProperty(iPropertyVarUint); iPropertyVarInt = new PropertyInt(new ParameterInt("VarInt")); AddProperty(iPropertyVarInt); iPropertyVarBool = new PropertyBool(new ParameterBool("VarBool")); AddProperty(iPropertyVarBool); iPropertyVarStr = new PropertyString(new ParameterString("VarStr", allowedValues)); AddProperty(iPropertyVarStr); iPropertyVarBin = new PropertyBinary(new ParameterBinary("VarBin")); AddProperty(iPropertyVarBin); }