diff options
Diffstat (limited to 'dom/archivereader/ArchiveReader.h')
-rw-r--r-- | dom/archivereader/ArchiveReader.h | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/dom/archivereader/ArchiveReader.h b/dom/archivereader/ArchiveReader.h deleted file mode 100644 index f85102f156..0000000000 --- a/dom/archivereader/ArchiveReader.h +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -#ifndef mozilla_dom_archivereader_domarchivereader_h__ -#define mozilla_dom_archivereader_domarchivereader_h__ - -#include "nsWrapperCache.h" - -#include "ArchiveReaderCommon.h" - -#include "nsCOMArray.h" -#include "nsIChannel.h" -#include "mozilla/Attributes.h" - -namespace mozilla { -namespace dom { -struct ArchiveReaderOptions; -class Blob; -class BlobImpl; -class File; -class GlobalObject; -} // namespace dom -} // namespace mozilla - -BEGIN_ARCHIVEREADER_NAMESPACE - -class ArchiveRequest; - -/** - * This is the ArchiveReader object - */ -class ArchiveReader final : public nsISupports, - public nsWrapperCache -{ -public: - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(ArchiveReader) - - static already_AddRefed<ArchiveReader> - Constructor(const GlobalObject& aGlobal, Blob& aBlob, - const ArchiveReaderOptions& aOptions, ErrorResult& aError); - - ArchiveReader(Blob& aBlob, nsPIDOMWindowInner* aWindow, - const nsACString& aEncoding); - - nsPIDOMWindowInner* GetParentObject() const - { - return mWindow; - } - - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - - already_AddRefed<ArchiveRequest> GetFilenames(); - already_AddRefed<ArchiveRequest> GetFile(const nsAString& filename); - already_AddRefed<ArchiveRequest> GetFiles(); - - nsresult GetInputStream(nsIInputStream** aInputStream); - nsresult GetSize(uint64_t* aSize); - -public: // for the ArchiveRequest: - nsresult RegisterRequest(ArchiveRequest* aRequest); - -public: // For events: - BlobImpl* GetBlobImpl() const - { - return mBlobImpl; - } - - void Ready(nsTArray<RefPtr<File>>& aFileList, nsresult aStatus); - -private: - ~ArchiveReader(); - - already_AddRefed<ArchiveRequest> GenerateArchiveRequest(); - - nsresult OpenArchive(); - - void RequestReady(ArchiveRequest* aRequest); - -protected: - // The archive blob/file - RefPtr<BlobImpl> mBlobImpl; - - // The window is needed by the requests - nsCOMPtr<nsPIDOMWindowInner> mWindow; - - // Are we ready to return data? - enum { - NOT_STARTED = 0, - WORKING, - READY - } mStatus; - - // State of the read: - enum { - Header, // We are collecting the header: 30bytes - Name, // The name length is contained in the header - Data, // The length of the data segment COULD be written in the header - Search // ... if the data length is unknown (== 0) we wait until we read a new header - } mReadStatus; - - // List of requests to be processed - nsTArray<RefPtr<ArchiveRequest> > mRequests; - - // Everything related to the blobs and the status: - struct { - nsTArray<RefPtr<File>> fileList; - nsresult status; - } mData; - - nsCString mEncoding; -}; - -END_ARCHIVEREADER_NAMESPACE - -#endif // mozilla_dom_archivereader_domarchivereader_h__ |