61 lines
1.5 KiB
C#
61 lines
1.5 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace IDTF.Net
|
|
{
|
|
public abstract class MetaDataItem
|
|
{
|
|
|
|
public MetaDataType Attribute { get; protected set; }
|
|
public string Key { get; set; }
|
|
public abstract void WriteOutput(StreamWriter toStream);
|
|
|
|
}
|
|
|
|
public class StringMetaDataItem : MetaDataItem
|
|
{
|
|
public StringMetaDataItem()
|
|
{
|
|
this.Attribute = MetaDataType.STRING;
|
|
}
|
|
|
|
public StringMetaDataItem(string key, string value)
|
|
{
|
|
this.Key = key;
|
|
this.Value = value;
|
|
}
|
|
|
|
public string Value { get; set; }
|
|
|
|
public override void WriteOutput(StreamWriter toStream)
|
|
{
|
|
toStream.WriteLine("\t\t\tMETA_DATA_ATTRIBUTE \"STRING\"");
|
|
toStream.WriteLine(String.Format("\t\t\tMETA_DATA_KEY \"{0}\"",Key));
|
|
toStream.WriteLine(String.Format("\t\t\tMETA_DATA_VALUE \"{0}\"",Value));
|
|
}
|
|
|
|
}
|
|
|
|
public class BinaryMetaDataItem : MetaDataItem
|
|
{
|
|
public BinaryMetaDataItem()
|
|
{
|
|
this.Attribute = MetaDataType.BINARY;
|
|
}
|
|
|
|
public BinaryMetaDataItem(string key, byte[] value)
|
|
{
|
|
this.Key = key;
|
|
this.Value = value;
|
|
}
|
|
|
|
public byte[] Value { get; set; }
|
|
|
|
public override void WriteOutput(StreamWriter toStream)
|
|
{
|
|
throw new NotImplementedException("Binary MetaDataItem not yet supported");
|
|
}
|
|
|
|
}
|
|
}
|