36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using skyscraper5.Mpeg2;
|
|
|
|
namespace skyscraper5.Dvb
|
|
{
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
|
|
public sealed class UserDefinedDescriptorAttribute : Attribute
|
|
{
|
|
public uint PrivateDataSpecifier { get; }
|
|
public byte DescriptorId { get; }
|
|
public string[] CompatibleTables { get; }
|
|
|
|
public UserDefinedDescriptorAttribute(uint privateDataSpecifier, byte descriptorId, params string[] compatibleTables)
|
|
{
|
|
PrivateDataSpecifier = privateDataSpecifier;
|
|
DescriptorId = descriptorId;
|
|
CompatibleTables = compatibleTables;
|
|
}
|
|
|
|
public bool Matches(uint privateDataSpecifier, string table)
|
|
{
|
|
foreach (string compatibleTable in CompatibleTables)
|
|
{
|
|
if (compatibleTable == table && privateDataSpecifier == this.PrivateDataSpecifier)
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|
|
}
|