String type parameter. Only intended for use by auto-generated proxies and providers.
Inheritance: Parameter
示例#1
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 CpProxyAvOpenhomeOrgPlaylist1(CpDevice aDevice)
            : base("av-openhome-org", "Playlist", 1, aDevice)
        {
            OpenHome.Net.Core.Parameter param;
            List<String> allowedValues = new List<String>();

            iActionPlay = new OpenHome.Net.Core.Action("Play");

            iActionPause = new OpenHome.Net.Core.Action("Pause");

            iActionStop = new OpenHome.Net.Core.Action("Stop");

            iActionNext = new OpenHome.Net.Core.Action("Next");

            iActionPrevious = new OpenHome.Net.Core.Action("Previous");

            iActionSetRepeat = new OpenHome.Net.Core.Action("SetRepeat");
            param = new ParameterBool("Value");
            iActionSetRepeat.AddInputParameter(param);

            iActionRepeat = new OpenHome.Net.Core.Action("Repeat");
            param = new ParameterBool("Value");
            iActionRepeat.AddOutputParameter(param);

            iActionSetShuffle = new OpenHome.Net.Core.Action("SetShuffle");
            param = new ParameterBool("Value");
            iActionSetShuffle.AddInputParameter(param);

            iActionShuffle = new OpenHome.Net.Core.Action("Shuffle");
            param = new ParameterBool("Value");
            iActionShuffle.AddOutputParameter(param);

            iActionSeekSecondAbsolute = new OpenHome.Net.Core.Action("SeekSecondAbsolute");
            param = new ParameterUint("Value");
            iActionSeekSecondAbsolute.AddInputParameter(param);

            iActionSeekSecondRelative = new OpenHome.Net.Core.Action("SeekSecondRelative");
            param = new ParameterInt("Value");
            iActionSeekSecondRelative.AddInputParameter(param);

            iActionSeekId = new OpenHome.Net.Core.Action("SeekId");
            param = new ParameterUint("Value");
            iActionSeekId.AddInputParameter(param);

            iActionSeekIndex = new OpenHome.Net.Core.Action("SeekIndex");
            param = new ParameterUint("Value");
            iActionSeekIndex.AddInputParameter(param);

            iActionTransportState = new OpenHome.Net.Core.Action("TransportState");
            allowedValues.Add("Playing");
            allowedValues.Add("Paused");
            allowedValues.Add("Stopped");
            allowedValues.Add("Buffering");
            param = new ParameterString("Value", allowedValues);
            iActionTransportState.AddOutputParameter(param);
            allowedValues.Clear();

            iActionId = new OpenHome.Net.Core.Action("Id");
            param = new ParameterUint("Value");
            iActionId.AddOutputParameter(param);

            iActionRead = new OpenHome.Net.Core.Action("Read");
            param = new ParameterUint("Id");
            iActionRead.AddInputParameter(param);
            param = new ParameterString("Uri", allowedValues);
            iActionRead.AddOutputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionRead.AddOutputParameter(param);

            iActionReadList = new OpenHome.Net.Core.Action("ReadList");
            param = new ParameterString("IdList", allowedValues);
            iActionReadList.AddInputParameter(param);
            param = new ParameterString("TrackList", allowedValues);
            iActionReadList.AddOutputParameter(param);

            iActionInsert = new OpenHome.Net.Core.Action("Insert");
            param = new ParameterUint("AfterId");
            iActionInsert.AddInputParameter(param);
            param = new ParameterString("Uri", allowedValues);
            iActionInsert.AddInputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionInsert.AddInputParameter(param);
            param = new ParameterUint("NewId");
            iActionInsert.AddOutputParameter(param);

            iActionDeleteId = new OpenHome.Net.Core.Action("DeleteId");
            param = new ParameterUint("Value");
            iActionDeleteId.AddInputParameter(param);

            iActionDeleteAll = new OpenHome.Net.Core.Action("DeleteAll");

            iActionTracksMax = new OpenHome.Net.Core.Action("TracksMax");
            param = new ParameterUint("Value");
            iActionTracksMax.AddOutputParameter(param);

            iActionIdArray = new OpenHome.Net.Core.Action("IdArray");
            param = new ParameterUint("Token");
            iActionIdArray.AddOutputParameter(param);
            param = new ParameterBinary("Array");
            iActionIdArray.AddOutputParameter(param);

            iActionIdArrayChanged = new OpenHome.Net.Core.Action("IdArrayChanged");
            param = new ParameterUint("Token");
            iActionIdArrayChanged.AddInputParameter(param);
            param = new ParameterBool("Value");
            iActionIdArrayChanged.AddOutputParameter(param);

            iActionProtocolInfo = new OpenHome.Net.Core.Action("ProtocolInfo");
            param = new ParameterString("Value", allowedValues);
            iActionProtocolInfo.AddOutputParameter(param);

            iTransportState = new PropertyString("TransportState", TransportStatePropertyChanged);
            AddProperty(iTransportState);
            iRepeat = new PropertyBool("Repeat", RepeatPropertyChanged);
            AddProperty(iRepeat);
            iShuffle = new PropertyBool("Shuffle", ShufflePropertyChanged);
            AddProperty(iShuffle);
            iId = new PropertyUint("Id", IdPropertyChanged);
            AddProperty(iId);
            iIdArray = new PropertyBinary("IdArray", IdArrayPropertyChanged);
            AddProperty(iIdArray);
            iTracksMax = new PropertyUint("TracksMax", TracksMaxPropertyChanged);
            AddProperty(iTracksMax);
            iProtocolInfo = new PropertyString("ProtocolInfo", ProtocolInfoPropertyChanged);
            AddProperty(iProtocolInfo);

            iPropertyLock = new Mutex();
        }
示例#2
0
 /// <summary>
 /// Constructor for binary input argument for an action
 /// </summary>
 /// <remarks>Intended to be write only (its value is written on construction and not be later read)</remarks>
 /// <param name="aParameter">Defines the name for the argument.
 /// Must have been previously added to the action using Action.AddInputParameter</param>
 /// <param name="aData">Value for the argument</param>
 public unsafe ArgumentBinary(ParameterBinary aParameter, byte[] aData)
 {
     fixed (byte* pData = aData)
     {
         iHandle = ActionArgumentCreateBinaryInput(aParameter.Handle(), new IntPtr(pData), aData.Length);
     }
 }
示例#3
0
 /// <summary>
 /// Constructor for binary output argument for an action
 /// </summary>
 /// <remarks>Intended to be created without any value.  The value is later set after
 /// CpService.InvokeAction is called but before the invocation's callback is run)</remarks>
 /// <param name="aParameter">Defines the name plus any bounds to the value for the argument.
 /// Must have been previously added to the action using Action.AddOutputParameter</param>
 public ArgumentBinary(ParameterBinary aParameter)
 {
     iHandle = ActionArgumentCreateBinaryOutput(aParameter.Handle());
 }
示例#4
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 CpProxyAvOpenhomeOrgRadio1(CpDevice aDevice)
            : base("av-openhome-org", "Radio", 1, aDevice)
        {
            OpenHome.Net.Core.Parameter param;
            List<String> allowedValues = new List<String>();

            iActionPlay = new OpenHome.Net.Core.Action("Play");

            iActionPause = new OpenHome.Net.Core.Action("Pause");

            iActionStop = new OpenHome.Net.Core.Action("Stop");

            iActionSeekSecondAbsolute = new OpenHome.Net.Core.Action("SeekSecondAbsolute");
            param = new ParameterUint("Value");
            iActionSeekSecondAbsolute.AddInputParameter(param);

            iActionSeekSecondRelative = new OpenHome.Net.Core.Action("SeekSecondRelative");
            param = new ParameterInt("Value");
            iActionSeekSecondRelative.AddInputParameter(param);

            iActionChannel = new OpenHome.Net.Core.Action("Channel");
            param = new ParameterString("Uri", allowedValues);
            iActionChannel.AddOutputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionChannel.AddOutputParameter(param);

            iActionSetChannel = new OpenHome.Net.Core.Action("SetChannel");
            param = new ParameterString("Uri", allowedValues);
            iActionSetChannel.AddInputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionSetChannel.AddInputParameter(param);

            iActionTransportState = new OpenHome.Net.Core.Action("TransportState");
            allowedValues.Add("Stopped");
            allowedValues.Add("Playing");
            allowedValues.Add("Paused");
            allowedValues.Add("Buffering");
            param = new ParameterString("Value", allowedValues);
            iActionTransportState.AddOutputParameter(param);
            allowedValues.Clear();

            iActionId = new OpenHome.Net.Core.Action("Id");
            param = new ParameterUint("Value");
            iActionId.AddOutputParameter(param);

            iActionSetId = new OpenHome.Net.Core.Action("SetId");
            param = new ParameterUint("Value");
            iActionSetId.AddInputParameter(param);
            param = new ParameterString("Uri", allowedValues);
            iActionSetId.AddInputParameter(param);

            iActionRead = new OpenHome.Net.Core.Action("Read");
            param = new ParameterUint("Id");
            iActionRead.AddInputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionRead.AddOutputParameter(param);

            iActionReadList = new OpenHome.Net.Core.Action("ReadList");
            param = new ParameterString("IdList", allowedValues);
            iActionReadList.AddInputParameter(param);
            param = new ParameterString("ChannelList", allowedValues);
            iActionReadList.AddOutputParameter(param);

            iActionIdArray = new OpenHome.Net.Core.Action("IdArray");
            param = new ParameterUint("Token");
            iActionIdArray.AddOutputParameter(param);
            param = new ParameterBinary("Array");
            iActionIdArray.AddOutputParameter(param);

            iActionIdArrayChanged = new OpenHome.Net.Core.Action("IdArrayChanged");
            param = new ParameterUint("Token");
            iActionIdArrayChanged.AddInputParameter(param);
            param = new ParameterBool("Value");
            iActionIdArrayChanged.AddOutputParameter(param);

            iActionChannelsMax = new OpenHome.Net.Core.Action("ChannelsMax");
            param = new ParameterUint("Value");
            iActionChannelsMax.AddOutputParameter(param);

            iActionProtocolInfo = new OpenHome.Net.Core.Action("ProtocolInfo");
            param = new ParameterString("Value", allowedValues);
            iActionProtocolInfo.AddOutputParameter(param);

            iUri = new PropertyString("Uri", UriPropertyChanged);
            AddProperty(iUri);
            iMetadata = new PropertyString("Metadata", MetadataPropertyChanged);
            AddProperty(iMetadata);
            iTransportState = new PropertyString("TransportState", TransportStatePropertyChanged);
            AddProperty(iTransportState);
            iId = new PropertyUint("Id", IdPropertyChanged);
            AddProperty(iId);
            iIdArray = new PropertyBinary("IdArray", IdArrayPropertyChanged);
            AddProperty(iIdArray);
            iChannelsMax = new PropertyUint("ChannelsMax", ChannelsMaxPropertyChanged);
            AddProperty(iChannelsMax);
            iProtocolInfo = new PropertyString("ProtocolInfo", ProtocolInfoPropertyChanged);
            AddProperty(iProtocolInfo);

            iPropertyLock = new Mutex();
        }
示例#5
0
文件: Service.cs 项目: fuzzy01/ohNet
 /// <summary>
 /// Constructor suitable for use by clients of the device stack
 /// </summary>
 /// <param name="aParameter">Parameter defining the name for the property.</param>
 /// <param name="aOwnsNativeProperty">Whether the managed property owns the underlying native property.</param>
 public PropertyBinary(ParameterBinary aParameter, bool aOwnsNativeProperty = false)
     : base(aOwnsNativeProperty)
 {
     iHandle = ServicePropertyCreateBinaryDv(aParameter.Handle());
 }
示例#6
0
文件: Service.cs 项目: nterry/ohNet
 /// <summary>
 /// Constructor suitable for use by clients of the device stack
 /// </summary>
 /// <param name="aParameter">Parameter defining the name for the property.</param>
 /// <param name="aOwnsNativeProperty">Whether the managed property owns the underlying native property.</param>
 public PropertyBinary(ParameterBinary aParameter, bool aOwnsNativeProperty = false)
     : base(aOwnsNativeProperty)
 {
     iHandle = ServicePropertyCreateBinaryDv(aParameter.Handle());
 }
示例#7
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 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();
        }
示例#8
0
 /// <summary>
 /// Constructor for binary input argument for an action
 /// </summary>
 /// <remarks>Intended to be write only (its value is written on construction and not be later read)</remarks>
 /// <param name="aParameter">Defines the name for the argument.
 /// Must have been previously added to the action using Action.AddInputParameter</param>
 /// <param name="aData">Value for the argument</param>
 public ArgumentBinary(ParameterBinary aParameter, byte[] aData)
 {
     GCHandle h = GCHandle.Alloc(aData, GCHandleType.Pinned);
     iHandle = ActionArgumentCreateBinaryInput(aParameter.Handle(), h.AddrOfPinnedObject(), aData.Length);
     h.Free();
 }
        /// <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 CpProxyAvOpenhomeOrgPlaylistManager1(CpDevice aDevice)
            : base("av-openhome-org", "PlaylistManager", 1, aDevice)
        {
            OpenHome.Net.Core.Parameter param;
            List<String> allowedValues = new List<String>();

            iActionMetadata = new OpenHome.Net.Core.Action("Metadata");
            param = new ParameterString("Metadata", allowedValues);
            iActionMetadata.AddOutputParameter(param);

            iActionImagesXml = new OpenHome.Net.Core.Action("ImagesXml");
            param = new ParameterString("ImagesXml", allowedValues);
            iActionImagesXml.AddOutputParameter(param);

            iActionPlaylistReadArray = new OpenHome.Net.Core.Action("PlaylistReadArray");
            param = new ParameterUint("Id");
            iActionPlaylistReadArray.AddInputParameter(param);
            param = new ParameterBinary("Array");
            iActionPlaylistReadArray.AddOutputParameter(param);

            iActionPlaylistReadList = new OpenHome.Net.Core.Action("PlaylistReadList");
            param = new ParameterString("IdList", allowedValues);
            iActionPlaylistReadList.AddInputParameter(param);
            param = new ParameterString("PlaylistList", allowedValues);
            iActionPlaylistReadList.AddOutputParameter(param);

            iActionPlaylistRead = new OpenHome.Net.Core.Action("PlaylistRead");
            param = new ParameterUint("Id");
            iActionPlaylistRead.AddInputParameter(param);
            param = new ParameterString("Name", allowedValues);
            iActionPlaylistRead.AddOutputParameter(param);
            param = new ParameterString("Description", allowedValues);
            iActionPlaylistRead.AddOutputParameter(param);
            param = new ParameterUint("ImageId");
            iActionPlaylistRead.AddOutputParameter(param);

            iActionPlaylistSetName = new OpenHome.Net.Core.Action("PlaylistSetName");
            param = new ParameterUint("Id");
            iActionPlaylistSetName.AddInputParameter(param);
            param = new ParameterString("Name", allowedValues);
            iActionPlaylistSetName.AddInputParameter(param);

            iActionPlaylistSetDescription = new OpenHome.Net.Core.Action("PlaylistSetDescription");
            param = new ParameterUint("Id");
            iActionPlaylistSetDescription.AddInputParameter(param);
            param = new ParameterString("Description", allowedValues);
            iActionPlaylistSetDescription.AddInputParameter(param);

            iActionPlaylistSetImageId = new OpenHome.Net.Core.Action("PlaylistSetImageId");
            param = new ParameterUint("Id");
            iActionPlaylistSetImageId.AddInputParameter(param);
            param = new ParameterUint("ImageId");
            iActionPlaylistSetImageId.AddInputParameter(param);

            iActionPlaylistInsert = new OpenHome.Net.Core.Action("PlaylistInsert");
            param = new ParameterUint("AfterId");
            iActionPlaylistInsert.AddInputParameter(param);
            param = new ParameterString("Name", allowedValues);
            iActionPlaylistInsert.AddInputParameter(param);
            param = new ParameterString("Description", allowedValues);
            iActionPlaylistInsert.AddInputParameter(param);
            param = new ParameterUint("ImageId");
            iActionPlaylistInsert.AddInputParameter(param);
            param = new ParameterUint("NewId");
            iActionPlaylistInsert.AddOutputParameter(param);

            iActionPlaylistDeleteId = new OpenHome.Net.Core.Action("PlaylistDeleteId");
            param = new ParameterUint("Value");
            iActionPlaylistDeleteId.AddInputParameter(param);

            iActionPlaylistMove = new OpenHome.Net.Core.Action("PlaylistMove");
            param = new ParameterUint("Id");
            iActionPlaylistMove.AddInputParameter(param);
            param = new ParameterUint("AfterId");
            iActionPlaylistMove.AddInputParameter(param);

            iActionPlaylistsMax = new OpenHome.Net.Core.Action("PlaylistsMax");
            param = new ParameterUint("Value");
            iActionPlaylistsMax.AddOutputParameter(param);

            iActionTracksMax = new OpenHome.Net.Core.Action("TracksMax");
            param = new ParameterUint("Value");
            iActionTracksMax.AddOutputParameter(param);

            iActionPlaylistArrays = new OpenHome.Net.Core.Action("PlaylistArrays");
            param = new ParameterUint("Token");
            iActionPlaylistArrays.AddOutputParameter(param);
            param = new ParameterBinary("IdArray");
            iActionPlaylistArrays.AddOutputParameter(param);
            param = new ParameterBinary("TokenArray");
            iActionPlaylistArrays.AddOutputParameter(param);

            iActionPlaylistArraysChanged = new OpenHome.Net.Core.Action("PlaylistArraysChanged");
            param = new ParameterUint("Token");
            iActionPlaylistArraysChanged.AddInputParameter(param);
            param = new ParameterBool("Value");
            iActionPlaylistArraysChanged.AddOutputParameter(param);

            iActionRead = new OpenHome.Net.Core.Action("Read");
            param = new ParameterUint("Id");
            iActionRead.AddInputParameter(param);
            param = new ParameterUint("TrackId");
            iActionRead.AddInputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionRead.AddOutputParameter(param);

            iActionReadList = new OpenHome.Net.Core.Action("ReadList");
            param = new ParameterUint("Id");
            iActionReadList.AddInputParameter(param);
            param = new ParameterString("TrackIdList", allowedValues);
            iActionReadList.AddInputParameter(param);
            param = new ParameterString("TrackList", allowedValues);
            iActionReadList.AddOutputParameter(param);

            iActionInsert = new OpenHome.Net.Core.Action("Insert");
            param = new ParameterUint("Id");
            iActionInsert.AddInputParameter(param);
            param = new ParameterUint("AfterTrackId");
            iActionInsert.AddInputParameter(param);
            param = new ParameterString("Metadata", allowedValues);
            iActionInsert.AddInputParameter(param);
            param = new ParameterUint("NewTrackId");
            iActionInsert.AddOutputParameter(param);

            iActionDeleteId = new OpenHome.Net.Core.Action("DeleteId");
            param = new ParameterUint("Id");
            iActionDeleteId.AddInputParameter(param);
            param = new ParameterUint("TrackId");
            iActionDeleteId.AddInputParameter(param);

            iActionDeleteAll = new OpenHome.Net.Core.Action("DeleteAll");
            param = new ParameterUint("Id");
            iActionDeleteAll.AddInputParameter(param);

            iMetadata = new PropertyString("Metadata", MetadataPropertyChanged);
            AddProperty(iMetadata);
            iImagesXml = new PropertyString("ImagesXml", ImagesXmlPropertyChanged);
            AddProperty(iImagesXml);
            iIdArray = new PropertyBinary("IdArray", IdArrayPropertyChanged);
            AddProperty(iIdArray);
            iTokenArray = new PropertyBinary("TokenArray", TokenArrayPropertyChanged);
            AddProperty(iTokenArray);
            iPlaylistsMax = new PropertyUint("PlaylistsMax", PlaylistsMaxPropertyChanged);
            AddProperty(iPlaylistsMax);
            iTracksMax = new PropertyUint("TracksMax", TracksMaxPropertyChanged);
            AddProperty(iTracksMax);

            iPropertyLock = new Mutex();
        }
        /// <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 CpProxyAvOpenhomeOrgCredentials1(CpDevice aDevice)
            : base("av-openhome-org", "Credentials", 1, aDevice)
        {
            OpenHome.Net.Core.Parameter param;
            List<String> allowedValues = new List<String>();

            iActionSet = new OpenHome.Net.Core.Action("Set");
            param = new ParameterString("Id", allowedValues);
            iActionSet.AddInputParameter(param);
            param = new ParameterString("UserName", allowedValues);
            iActionSet.AddInputParameter(param);
            param = new ParameterBinary("Password");
            iActionSet.AddInputParameter(param);

            iActionClear = new OpenHome.Net.Core.Action("Clear");
            param = new ParameterString("Id", allowedValues);
            iActionClear.AddInputParameter(param);

            iActionSetEnabled = new OpenHome.Net.Core.Action("SetEnabled");
            param = new ParameterString("Id", allowedValues);
            iActionSetEnabled.AddInputParameter(param);
            param = new ParameterBool("Enabled");
            iActionSetEnabled.AddInputParameter(param);

            iActionGet = new OpenHome.Net.Core.Action("Get");
            param = new ParameterString("Id", allowedValues);
            iActionGet.AddInputParameter(param);
            param = new ParameterString("UserName", allowedValues);
            iActionGet.AddOutputParameter(param);
            param = new ParameterBinary("Password");
            iActionGet.AddOutputParameter(param);
            param = new ParameterBool("Enabled");
            iActionGet.AddOutputParameter(param);
            param = new ParameterString("Status", allowedValues);
            iActionGet.AddOutputParameter(param);
            param = new ParameterString("Data", allowedValues);
            iActionGet.AddOutputParameter(param);

            iActionLogin = new OpenHome.Net.Core.Action("Login");
            param = new ParameterString("Id", allowedValues);
            iActionLogin.AddInputParameter(param);
            param = new ParameterString("Token", allowedValues);
            iActionLogin.AddOutputParameter(param);

            iActionReLogin = new OpenHome.Net.Core.Action("ReLogin");
            param = new ParameterString("Id", allowedValues);
            iActionReLogin.AddInputParameter(param);
            param = new ParameterString("CurrentToken", allowedValues);
            iActionReLogin.AddInputParameter(param);
            param = new ParameterString("NewToken", allowedValues);
            iActionReLogin.AddOutputParameter(param);

            iActionGetIds = new OpenHome.Net.Core.Action("GetIds");
            param = new ParameterString("Ids", allowedValues);
            iActionGetIds.AddOutputParameter(param);

            iActionGetPublicKey = new OpenHome.Net.Core.Action("GetPublicKey");
            param = new ParameterString("PublicKey", allowedValues);
            iActionGetPublicKey.AddOutputParameter(param);

            iActionGetSequenceNumber = new OpenHome.Net.Core.Action("GetSequenceNumber");
            param = new ParameterUint("SequenceNumber");
            iActionGetSequenceNumber.AddOutputParameter(param);

            iIds = new PropertyString("Ids", IdsPropertyChanged);
            AddProperty(iIds);
            iPublicKey = new PropertyString("PublicKey", PublicKeyPropertyChanged);
            AddProperty(iPublicKey);
            iSequenceNumber = new PropertyUint("SequenceNumber", SequenceNumberPropertyChanged);
            AddProperty(iSequenceNumber);

            iPropertyLock = new Mutex();
        }