Blame netwerk/base/nsDownloader.h

Packit f0b94e
/* This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
 * License, v. 2.0. If a copy of the MPL was not distributed with this
Packit f0b94e
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Packit f0b94e
Packit f0b94e
#ifndef nsDownloader_h__
Packit f0b94e
#define nsDownloader_h__
Packit f0b94e
Packit f0b94e
#include "nsIDownloader.h"
Packit f0b94e
#include "nsCOMPtr.h"
Packit f0b94e
Packit f0b94e
class nsIFile;
Packit f0b94e
class nsIOutputStream;
Packit f0b94e
Packit f0b94e
class nsDownloader : public nsIDownloader {
Packit f0b94e
 public:
Packit f0b94e
  NS_DECL_ISUPPORTS
Packit f0b94e
  NS_DECL_NSIDOWNLOADER
Packit f0b94e
  NS_DECL_NSIREQUESTOBSERVER
Packit f0b94e
  NS_DECL_NSISTREAMLISTENER
Packit f0b94e
Packit f0b94e
  nsDownloader() : mLocationIsTemp(false) {}
Packit f0b94e
Packit f0b94e
 protected:
Packit f0b94e
  virtual ~nsDownloader();
Packit f0b94e
Packit f0b94e
  static nsresult ConsumeData(nsIInputStream *in, void *closure,
Packit f0b94e
                              const char *fromRawSegment, uint32_t toOffset,
Packit f0b94e
                              uint32_t count, uint32_t *writeCount);
Packit f0b94e
Packit f0b94e
  nsCOMPtr<nsIDownloadObserver> mObserver;
Packit f0b94e
  nsCOMPtr<nsIFile> mLocation;
Packit f0b94e
  nsCOMPtr<nsIOutputStream> mSink;
Packit f0b94e
  bool mLocationIsTemp;
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
#endif  // nsDownloader_h__