/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/** * An enumeration type used to represent a method of assignment.
*/ enum nsAssignmentType {
NS_ASSIGNMENT_COPY, // copy by value
NS_ASSIGNMENT_DEPEND, // copy by reference
NS_ASSIGNMENT_ADOPT // copy by reference (take ownership of resource)
};
/** * Factory method to get an nsInputStream from a byte buffer. Result will * implement nsIStringInputStream, nsITellableStream and nsISeekableStream. * * If aAssignment is NS_ASSIGNMENT_COPY, then the resulting stream holds a copy * of the given buffer (aStringToRead), and the caller is free to discard * aStringToRead after this function returns. * * If aAssignment is NS_ASSIGNMENT_DEPEND, then the resulting stream refers * directly to the given buffer (aStringToRead), so the caller must ensure that * the buffer remains valid for the lifetime of the stream object. Use with * care!! * * If aAssignment is NS_ASSIGNMENT_ADOPT, then the resulting stream refers * directly to the given buffer (aStringToRead) and will free aStringToRead * once the stream is closed.
*/ extern nsresult NS_NewByteInputStream(nsIInputStream** aStreamResult,
mozilla::Span<constchar> aStringToRead,
nsAssignmentType aAssignment);
/** * Factory method to get an nsIInputStream from an nsTArray representing a byte * buffer. This will take ownership of the data and empty out the nsTArray. * * Result will implement nsIStringInputStream, nsITellableStream and * nsISeekableStream.
*/ extern nsresult NS_NewByteInputStream(nsIInputStream** aStreamResult,
nsTArray<uint8_t>&& aArray);
/** * Factory method to get an nsIInputStream from an arbitrary StreamBufferSource. * This will take a strong reference to the source. * * Result will implement nsIStringInputStream, nsITellableStream and * nsISeekableStream.
*/ extern nsresult NS_NewByteInputStream(nsIInputStream** aStreamResult,
mozilla::StreamBufferSource* aSource);
/** * Factory method to get an nsInputStream from an nsACString. Result will * implement nsIStringInputStream, nsTellableStream and nsISeekableStream.
*/ extern nsresult NS_NewCStringInputStream(nsIInputStream** aStreamResult, const nsACString& aStringToRead); extern nsresult NS_NewCStringInputStream(nsIInputStream** aStreamResult,
nsCString&& aStringToRead);
#endif// nsStringStream_h__
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.