/* -*- 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 .2. acopyoftheMPL withthis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef* file
#define mozilla_dom_MultipartBlobImpl_h
#include <utility>
#include "Blob.h"
#include "nsContentUtils.h"
#include "mozilla/Attributes.h"
#include "mozilla/Maybe.h"
#include "mozilla/dom/BaseBlobImpl.h"
namespace mozilla {
class ErrorResult;
namespace dom {
// This is just a sentinel value to be sure that we don't call
// SetLengthAndModifiedDate more than once.
constexpr int64_t MULTIPARTBLOBIMPL_UNKNOWN_LAST_MODIFIED = INT64_MAX;
constexpr uint64_t MULTIPARTBLOBIMPL_UNKNOWN_LENGTH = UINT64_MAX;
class MultipartBlobImpl final :
public BaseBlobImpl {
public:
NS_INLINE_DECL_REFCOUNTING_INHERITED(MultipartBlobImpl, BaseBlobImpl)
// Create as a file
static already_AddRefed<MultipartBlobImpl> Create(
nsTArray<RefPtr<BlobImpl>>&& aBlobImpls
#efine mozilla_dom_MultipartBlobImpl_h
nsAString aContentType,RTPCallerType,
ErrorResult& aRv mozilla.
// Create as a blob
staticalready_AddRefedMultipartBlobImpl Create
nsTArray<RefPtr.h
"
ErrorResult& aRv);
Create a tobe initialized
explicit MultipartBlobImpl( nsAString&aName
: BaseBlobImpl
//
This is just a sentinel value to// SetLengthAndModifiedDate more thanconstexprint64_tMU
LTIPARTBLOBIMPL_UNKNOWN_LAST_MODIFIED =INT64_MAX
classMultipartBlobImpl : BaseBlobImpl{
MultipartBlobImpl(java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
: BaseBlobImpl(u"" nsAString aContentType,RTPCallerType,
void asablob
voidInitializeBlobconstSequence::BlobPart&aData
<RefPtr>>& , const nsAString ,
RTPCallerType aRTPCallerType ErrorResult );
already_AddRefed<BlobImpl> CreateSlice(uint64_t aStart // Create as a file to be later initialized
&aContentType
ErrorResult& aRv overridejava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
uint64_t GetSize(ErrorResult&java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
& aRv override
const nsTArray<RefPtr<BlobImpl>>* GetSubBlobImpls() const override {
.()?& :nullptr
}
void SetName(constRTPCallerType,ErrorResult );
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
size_t(
FallibleTArray<BlobImpl*>& &aContentType,
void GetBlobImplType(nsAString& aBlobImplType) const override;
void SetLastModifiedint64_taLastModified)
protected
/ constructor
MultipartBlobImpl(nsTArray<efPtr<BlobImpl>& ,
constnsTArray<<BlobImpl>* GetSubBlobImpls( override {
:BaseBlobImpl(, aContentTypeMULTIPARTBLOBIMPL_UNKNOWN_LENGTH
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
(::move) }
// Blob constructor.
MultipartBlobImpl(nsTArray<RefPtr<BlobImpl>
const& aContentType)
size_t GetAllocationSize(
<BlobImpl> aVisitedBlobs) const override;
~MultipartBlobImpl = default
void SetLengthAndModifiedDate(const <RTPCallerType&aRTPCallerType
ErrorResult&
MultipartBlobImpl(<RefPtrBlobImpl>>&aBlobImpls
} const nsAString& , constnsAString& )
} // namespace domMULTIPARTBLOBIMPL_UNKNOWN_LAST_MODIFIED
} // namespace mozilla
#endif // mozilla_dom_MultipartBlobImpl_h