private void ProcessAttributeStart(WriterAction action)
        {
            if (_lineBuffer.EOL)
            {
                AdvanceTillNextNonEmptyLine(action);
            }

            char ch;

            do
            {
                ch = _lineBuffer.Read();

                if (action == WriterAction.Write)
                {
                    _targetWriter.Write(ch);
                }

                _currentLinePosition++;

                if (_lineBuffer.EOL)
                {
                    AdvanceTillNextNonEmptyLine(action);
                }
            } while (ch != '=');
        }
Exemple #2
0
 private void AdvanceTillNextNonEmptyLine(WriterAction action)
 {
     do
     {
         if (action == WriterAction.Write)
         {
             targetWriter.WriteLine();
         }
         lineBuffer.SetLine(sourceReader.ReadLine());
         currentLineNumber++;
         currentLinePosition = 1;
     } while (lineBuffer.EOL);
 }
Exemple #3
0
        public virtual void WriteValue(BinaryWriter writer, TClass instance)
        {
            if (OsuFormat)
            {
                writer.Write((byte)0);
            }
            if (WriterAction != null)
            {
                WriterAction.Invoke(writer, instance);
                return;
            }
            var value = _property.GetValue(instance);

            WriteObject(writer, value);
        }
 private void InvokeWriterAction(ODataMessageWriterTestWrapper messageWriter, ODataWriter writer, WriterAction writerAction)
 {
     switch (writerAction)
     {
         case WriterAction.StartEntry:
             writer.WriteStart(ObjectModelUtils.CreateDefaultEntry());
             break;
         case WriterAction.StartFeed:
             writer.WriteStart(ObjectModelUtils.CreateDefaultFeed());
             break;
         case WriterAction.StartLink:
             writer.WriteStart(ObjectModelUtils.CreateDefaultCollectionLink());
             break;
         case WriterAction.End:
             writer.WriteEnd();
             break;
         case WriterAction.Error:
             messageWriter.WriteError(new ODataError(), false);
             break;
     }
 }
Exemple #5
0
        private void ProcessAttributeStart(WriterAction action)
        {
            if (_lineBuffer.EOL)
            {
                AdvanceTillNextNonEmptyLine(action);
            }

            char ch;
            do
            {
                ch = _lineBuffer.Read();

                if (action == WriterAction.Write)
                {
                    _targetWriter.Write(ch);
                }

                _currentLinePosition++;

                if (_lineBuffer.EOL)
                {
                    AdvanceTillNextNonEmptyLine(action);
                }

            } while (ch != '=');
        }
Exemple #6
0
        private void AdvanceTillNextNonEmptyLine(WriterAction action)
        {
            do
            {
                if (action == WriterAction.Write)
                {
                    _targetWriter.WriteLine();
                }

                _lineBuffer.SetLine(_sourceReader.ReadLine());
                _currentLineNumber++;
                _currentLinePosition = 1;

            } while (_lineBuffer.EOL);
        }
        private void InvokeWriterAction(ODataMessageWriterTestWrapper messageWriter, ODataWriter writer, WriterAction writerAction)
        {
            switch (writerAction)
            {
            case WriterAction.StartResource:
                writer.WriteStart(ObjectModelUtils.CreateDefaultEntry());
                break;

            case WriterAction.StartFeed:
                writer.WriteStart(ObjectModelUtils.CreateDefaultFeed());
                break;

            case WriterAction.StartLink:
                writer.WriteStart(ObjectModelUtils.CreateDefaultCollectionLink());
                break;

            case WriterAction.End:
                writer.WriteEnd();
                break;

            case WriterAction.Error:
                messageWriter.WriteError(new ODataError(), false);
                break;
            }
        }