// protected methods /// <summary> /// Creates a clone of the settings. /// </summary> /// <returns>A clone of the settings.</returns> protected override BsonWriterSettings CloneImplementation() { var clone = new BsonBinaryWriterSettings { CloseOutput = _closeOutput, Encoding = _encoding, FixOldBinarySubTypeOnOutput = _fixOldBinarySubTypeOnOutput, GuidRepresentation = GuidRepresentation, MaxDocumentSize = _maxDocumentSize, MaxSerializationDepth = MaxSerializationDepth }; return(clone); }
/// <summary> /// Initializes a new instance of the BsonBinaryWriter class. /// </summary> /// <param name="buffer">A BsonBuffer.</param> /// <param name="disposeBuffer">if set to <c>true</c> this BsonBinaryReader will own the buffer and when Dispose is called the buffer will be Disposed also.</param> /// <param name="settings">Optional BsonBinaryWriter settings.</param> /// <exception cref="System.ArgumentNullException"> /// encoder /// or /// settings /// </exception> public BsonBinaryWriter(BsonBuffer buffer, bool disposeBuffer, BsonBinaryWriterSettings settings) : base(settings) { if (buffer == null) { throw new ArgumentNullException("encoder"); } _buffer = buffer; _disposeBuffer = disposeBuffer; _binaryWriterSettings = settings; // already frozen by base class _maxDocumentSizeStack.Push(_binaryWriterSettings.MaxDocumentSize); _context = null; State = BsonWriterState.Initial; }
// constructors /// <summary> /// Initializes a new instance of the BsonBinaryWriter class. /// </summary> /// <param name="stream">A stream.</param> /// <param name="buffer">A BsonBuffer.</param> /// <param name="settings">Optional BsonBinaryWriter settings.</param> public BsonBinaryWriter(Stream stream, BsonBuffer buffer, BsonBinaryWriterSettings settings) : base(settings) { _stream = stream; if (buffer == null) { _buffer = new BsonBuffer(); _disposeBuffer = true; // only call Dispose if we allocated the buffer } else { _buffer = buffer; _disposeBuffer = false; } _binaryWriterSettings = settings; // already frozen by base class _context = null; State = BsonWriterState.Initial; }
// constructors /// <summary> /// Initializes a new instance of the BsonBinaryWriter class. /// </summary> /// <param name="stream">A stream.</param> /// <param name="buffer">A BsonBuffer.</param> /// <param name="settings">Optional BsonBinaryWriter settings.</param> public BsonBinaryWriter(Stream stream, BsonBuffer buffer, BsonBinaryWriterSettings settings) : base(settings) { _stream = stream; if (buffer == null) { _buffer = new BsonBuffer(); _disposeBuffer = true; // only call Dispose if we allocated the buffer } else { _buffer = buffer; _disposeBuffer = false; } _binaryWriterSettings = settings; // already frozen by base class _context = null; State = BsonWriterState.Initial; }
// protected methods /// <summary> /// Creates a clone of the settings. /// </summary> /// <returns>A clone of the settings.</returns> protected override BsonWriterSettings CloneImplementation() { var clone = new BsonBinaryWriterSettings { CloseOutput = _closeOutput, Encoding = _encoding, FixOldBinarySubTypeOnOutput = _fixOldBinarySubTypeOnOutput, GuidRepresentation = GuidRepresentation, MaxDocumentSize = _maxDocumentSize, MaxSerializationDepth = MaxSerializationDepth }; return clone; }
/// <summary> /// Creates a BsonWriter to a BSON Stream. /// </summary> /// <param name="stream">A Stream.</param> /// <param name="settings">Optional BsonBinaryWriterSettings.</param> /// <returns>A BsonWriter.</returns> public static BsonWriter Create(Stream stream, BsonBinaryWriterSettings settings) { return(new BsonBinaryWriter(stream, null, BsonBinaryWriterSettings.Defaults)); }
/// <summary> /// Creates a BsonWriter to a BsonBuffer. /// </summary> /// <param name="buffer">A BsonBuffer.</param> /// <param name="settings">Optional BsonBinaryWriterSettings.</param> /// <returns>A BsonWriter.</returns> public static BsonWriter Create(BsonBuffer buffer, BsonBinaryWriterSettings settings) { return(new BsonBinaryWriter(null, buffer, settings)); }
/// <summary> /// Creates a BsonWriter to a BSON Stream. /// </summary> /// <param name="stream">A Stream.</param> /// <param name="settings">Optional BsonBinaryWriterSettings.</param> /// <returns>A BsonWriter.</returns> public static BsonWriter Create(Stream stream, BsonBinaryWriterSettings settings) { return new BsonBinaryWriter(stream, null, BsonBinaryWriterSettings.Defaults); }
/// <summary> /// Creates a BsonWriter to a BsonBuffer. /// </summary> /// <param name="buffer">A BsonBuffer.</param> /// <param name="settings">Optional BsonBinaryWriterSettings.</param> /// <returns>A BsonWriter.</returns> public static BsonWriter Create(BsonBuffer buffer, BsonBinaryWriterSettings settings) { return new BsonBinaryWriter(null, buffer, settings); }
// constructors /// <summary> /// Initializes a new instance of the BsonBinaryWriter class. /// </summary> /// <param name="stream">A stream.</param> /// <param name="buffer">A BsonBuffer.</param> /// <param name="settings">Optional BsonBinaryWriter settings.</param> public BsonBinaryWriter(Stream stream, BsonBuffer buffer, BsonBinaryWriterSettings settings) : this(buffer ?? new BsonBuffer(), buffer == null, settings) { _stream = stream; }