예제 #1
0
        protected override object AddNewCore()
        {
            IUrlFrame frame1 = new UrlFrame(this.m_ID3v24FrameID, this.m_ID3v23FrameID, this.m_ID3v22FrameID);

            base.Add(frame1);
            return(frame1);
        }
예제 #2
0
        protected override object AddNewCore()
        {
            IUrlFrame url = new UrlFrame(_id3v24FrameID, _id3v23FrameID, _id3v22FrameID);

            Add(url);

            // Not necessary to hook up event handlers, base class calls InsertItem

            return(url);
        }
예제 #3
0
 internal void AddWCOM(UrlFrame frame)
 {
     if (_WCOM == null || _WCOM.Length == 0)
     {
         _WCOM = new UrlFrame[] { frame };
     }
     else
     {
         _WCOM = Generic.Add(_WCOM, frame);
     }
 }
예제 #4
0
 internal void AddWOAR(UrlFrame frame)
 {
     if (_WOAR == null || _WOAR.Length == 0)
     {
         _WOAR = new UrlFrame[] { frame };
     }
     else
     {
         _WOAR = Generic.Add(_WOAR, frame);
     }
 }
예제 #5
0
        public void TestUrlFrame()
        {
            string expValue = @"http://www.jamendo.com";

            FrameFlagSet ffs = new FrameFlagSet(new byte[] { 0x00, 0x00 });

            byte[] data = new byte[]
            {
                0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6A, 0x61, 0x6D, 0x65, 0x6E, 0x64, 0x6F, 0x2E, 0x63, 0x6F, 0x6D
            };

            UrlFrame test = new UrlFrame(ffs, data);

            Assert.AreEqual(expValue, test.Link);
        }
        private UrlFrame CreateUrlFrame(string id3v24FrameID, string id3v23FrameID, string id3v22FrameID, string property, Action validator)
        {
            UrlFrame urlFrame = new UrlFrame(id3v24FrameID, id3v23FrameID, id3v22FrameID);

            _frameBinder.Bind(urlFrame, "Value", property, validator);

            if (id3v24FrameID != null)
            {
                _id3v24SingleOccurrenceFrames.Add(id3v24FrameID, urlFrame);
            }
            if (id3v23FrameID != null)
            {
                _id3v23SingleOccurrenceFrames.Add(id3v23FrameID, urlFrame);
            }
            if (id3v22FrameID != null)
            {
                _id3v22SingleOccurrenceFrames.Add(id3v22FrameID, urlFrame);
            }

            return(urlFrame);
        }
예제 #7
0
        public override void WriteToStream(System.IO.Stream stream)
        {
            UrlFrame     frame  = (UrlFrame)this.FrameToWrite;
            List <Field> fields = new List <Field>();

            // Declare the fields to write.
            fields.Add(TextField.CreateTextField(frame.Url, EncodingScheme.Ascii));

            // Write the header
            int length = 0;

            foreach (Field f in fields)
            {
                length += f.Length;
            }
            HeaderWriter.WriteHeader(stream, new FrameHeader(this.FrameID, length));

            // Write the fields
            foreach (Field f in fields)
            {
                f.WriteToStream(stream);
            }
        }
예제 #8
0
 public UrlFrameWriter(UrlFrame frameToWrite, string frameID, FrameHeaderWriter headerWriter, EncodingScheme encoding)
     : base(frameToWrite, headerWriter, frameID, encoding)
 {
 }
예제 #9
0
 public UrlFrameWriter(UrlFrame frameToWrite, string frameID, FrameHeaderWriter headerWriter, EncodingScheme encoding)
     : base(frameToWrite, headerWriter, frameID, encoding)
 {
 }
예제 #10
0
        private void SetWPUB(FrameFlagSet ffs, byte[] data)
        {
            UrlFrame frame = new UrlFrame(ffs, data);

            this.UrlFrames.WPUB = frame;
        }
예제 #11
0
        private void SetWOAR(FrameFlagSet ffs, byte[] data)
        {
            UrlFrame frame = new UrlFrame(ffs, data);

            this.UrlFrames.AddWOAR(frame);
        }