Binary type property. Only intended for use by auto-generated proxies and providers.
Наследование: Property
 /// <summary>
 /// Enable the TokenArray property.
 /// </summary>
 public void EnablePropertyTokenArray()
 {
     iPropertyTokenArray = new PropertyBinary(new ParameterBinary("TokenArray"));
     AddProperty(iPropertyTokenArray);
 }
Пример #2
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();
        }
Пример #3
0
 /// <summary>
 /// Utility function which updates the value of a PropertyBinary. (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</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 SetPropertyBinary(PropertyBinary aProperty, byte[] aValue)
 {
     uint changed;
     int err;
     fixed (byte* pValue = aValue)
     {
         err = DvProviderSetPropertyBinary(iHandle, aProperty.Handle(), pValue, (uint)aValue.Length, &changed);
     }
     if (err != 0)
     {
         throw new PropertyUpdateError();
     }
     return (changed != 0);
 }
Пример #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
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aDevice">Device which owns this provider</param>
 protected DvProviderAvOpenhomeOrgRadio1(DvDevice aDevice)
     : base(aDevice, "av.openhome.org", "Radio", 1)
 {
     iGch = GCHandle.Alloc(this);
     List<String> allowedValues = new List<String>();
     iPropertyUri = new PropertyString(new ParameterString("Uri", allowedValues));
     AddProperty(iPropertyUri);
     iPropertyMetadata = new PropertyString(new ParameterString("Metadata", allowedValues));
     AddProperty(iPropertyMetadata);
     allowedValues.Add("Stopped");
     allowedValues.Add("Playing");
     allowedValues.Add("Paused");
     allowedValues.Add("Buffering");
     iPropertyTransportState = new PropertyString(new ParameterString("TransportState", allowedValues));
     AddProperty(iPropertyTransportState);
     allowedValues.Clear();
     iPropertyId = new PropertyUint(new ParameterUint("Id"));
     AddProperty(iPropertyId);
     iPropertyIdArray = new PropertyBinary(new ParameterBinary("IdArray"));
     AddProperty(iPropertyIdArray);
     iPropertyChannelsMax = new PropertyUint(new ParameterUint("ChannelsMax"));
     AddProperty(iPropertyChannelsMax);
     iPropertyProtocolInfo = new PropertyString(new ParameterString("ProtocolInfo", allowedValues));
     AddProperty(iPropertyProtocolInfo);
 }
Пример #6
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();
        }
Пример #7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aDevice">Device which owns this provider</param>
 protected DvProviderAvOpenhomeOrgPlaylist1(DvDevice aDevice)
     : base(aDevice, "av.openhome.org", "Playlist", 1)
 {
     iGch = GCHandle.Alloc(this);
     List<String> allowedValues = new List<String>();
     allowedValues.Add("Playing");
     allowedValues.Add("Paused");
     allowedValues.Add("Stopped");
     allowedValues.Add("Buffering");
     iPropertyTransportState = new PropertyString(new ParameterString("TransportState", allowedValues));
     AddProperty(iPropertyTransportState);
     allowedValues.Clear();
     iPropertyRepeat = new PropertyBool(new ParameterBool("Repeat"));
     AddProperty(iPropertyRepeat);
     iPropertyShuffle = new PropertyBool(new ParameterBool("Shuffle"));
     AddProperty(iPropertyShuffle);
     iPropertyId = new PropertyUint(new ParameterUint("Id"));
     AddProperty(iPropertyId);
     iPropertyIdArray = new PropertyBinary(new ParameterBinary("IdArray"));
     AddProperty(iPropertyIdArray);
     iPropertyTracksMax = new PropertyUint(new ParameterUint("TracksMax"));
     AddProperty(iPropertyTracksMax);
     iPropertyProtocolInfo = new PropertyString(new ParameterString("ProtocolInfo", allowedValues));
     AddProperty(iPropertyProtocolInfo);
 }
Пример #8
0
 /// <summary>
 /// Enable the VarBin property.
 /// </summary>
 public void EnablePropertyVarBin()
 {
     iPropertyVarBin = new PropertyBinary(new ParameterBinary("VarBin"));
     AddProperty(iPropertyVarBin);
 }
        /// <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();
        }
Пример #10
0
 /// <summary>
 /// Utility function which updates the value of a PropertyBinary. (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</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 bool SetPropertyBinary(PropertyBinary aProperty, byte[] aValue)
 {
     uint changed;
     int err;
     GCHandle h = GCHandle.Alloc(aValue, GCHandleType.Pinned);
     err = DvProviderSetPropertyBinary(iHandle, aProperty.Handle(), h.AddrOfPinnedObject(), (uint)aValue.Length, out changed);
     h.Free();
     if (err != 0)
     {
         throw new PropertyUpdateError();
     }
     return (changed != 0);
 }
Пример #11
0
 /// <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);
 }