123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- // Stuff to link the old imp to the new api - will go away!
- #ifndef OLDWRAPPERS__H__
- #define OLDWRAPPERS__H__
- #include "nsICacheEntry.h"
- #include "nsICacheListener.h"
- #include "nsICacheStorage.h"
- #include "nsCOMPtr.h"
- #include "nsICacheEntryOpenCallback.h"
- #include "nsICacheEntryDescriptor.h"
- #include "nsICacheStorageVisitor.h"
- #include "nsThreadUtils.h"
- #include "mozilla/TimeStamp.h"
- class nsIURI;
- class nsICacheEntryOpenCallback;
- class nsICacheStorageConsumptionObserver;
- class nsIApplicationCache;
- class nsILoadContextInfo;
- namespace mozilla { namespace net {
- class CacheStorage;
- class _OldCacheEntryWrapper : public nsICacheEntry
- {
- public:
- NS_DECL_THREADSAFE_ISUPPORTS
- // nsICacheEntryDescriptor
- NS_IMETHOD SetExpirationTime(uint32_t expirationTime) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->SetExpirationTime(expirationTime);
- }
- nsresult OpenInputStream(uint32_t offset, nsIInputStream * *_retval)
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->OpenInputStream(offset, _retval);
- }
- nsresult OpenOutputStream(uint32_t offset, nsIOutputStream * *_retval)
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->OpenOutputStream(offset, _retval);
- }
- NS_IMETHOD OpenAlternativeOutputStream(const nsACString & type, nsIOutputStream * *_retval) override
- {
- return NS_ERROR_NOT_IMPLEMENTED;
- }
- NS_IMETHOD OpenAlternativeInputStream(const nsACString & type, nsIInputStream * *_retval) override
- {
- return NS_ERROR_NOT_IMPLEMENTED;
- }
- NS_IMETHOD GetPredictedDataSize(int64_t *aPredictedDataSize) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->GetPredictedDataSize(aPredictedDataSize);
- }
- NS_IMETHOD SetPredictedDataSize(int64_t aPredictedDataSize) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->SetPredictedDataSize(aPredictedDataSize);
- }
- NS_IMETHOD GetSecurityInfo(nsISupports * *aSecurityInfo) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->GetSecurityInfo(aSecurityInfo);
- }
- NS_IMETHOD SetSecurityInfo(nsISupports *aSecurityInfo) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->SetSecurityInfo(aSecurityInfo);
- }
- NS_IMETHOD GetStorageDataSize(uint32_t *aStorageDataSize) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->GetStorageDataSize(aStorageDataSize);
- }
- nsresult AsyncDoom(nsICacheListener *listener)
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->AsyncDoom(listener);
- }
- NS_IMETHOD MarkValid(void) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->MarkValid();
- }
- NS_IMETHOD Close(void) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->Close();
- }
- NS_IMETHOD GetMetaDataElement(const char * key, char * *_retval) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->GetMetaDataElement(key, _retval);
- }
- NS_IMETHOD SetMetaDataElement(const char * key, const char * value) override
- {
- return !mOldDesc ? NS_ERROR_NULL_POINTER :
- mOldDesc->SetMetaDataElement(key, value);
- }
- NS_IMETHOD GetDiskStorageSizeInKB(uint32_t *aDiskStorageSize) override
- {
- return NS_ERROR_NOT_IMPLEMENTED;
- }
- // nsICacheEntryInfo
- NS_IMETHOD GetKey(nsACString & aKey) override
- {
- return mOldInfo->GetKey(aKey);
- }
- NS_IMETHOD GetFetchCount(int32_t *aFetchCount) override
- {
- return mOldInfo->GetFetchCount(aFetchCount);
- }
- NS_IMETHOD GetLastFetched(uint32_t *aLastFetched) override
- {
- return mOldInfo->GetLastFetched(aLastFetched);
- }
- NS_IMETHOD GetLastModified(uint32_t *aLastModified) override
- {
- return mOldInfo->GetLastModified(aLastModified);
- }
- NS_IMETHOD GetExpirationTime(uint32_t *aExpirationTime) override
- {
- return mOldInfo->GetExpirationTime(aExpirationTime);
- }
- nsresult GetDataSize(uint32_t *aDataSize)
- {
- return mOldInfo->GetDataSize(aDataSize);
- }
- NS_IMETHOD AsyncDoom(nsICacheEntryDoomCallback* listener) override;
- NS_IMETHOD GetPersistent(bool *aPersistToDisk) override;
- NS_IMETHOD GetIsForcedValid(bool *aIsForcedValid) override;
- NS_IMETHOD ForceValidFor(uint32_t aSecondsToTheFuture) override;
- NS_IMETHOD SetValid() override { return NS_OK; }
- NS_IMETHOD MetaDataReady() override { return NS_OK; }
- NS_IMETHOD Recreate(bool, nsICacheEntry**) override;
- NS_IMETHOD GetDataSize(int64_t *size) override;
- NS_IMETHOD GetAltDataSize(int64_t *size) override;
- NS_IMETHOD OpenInputStream(int64_t offset, nsIInputStream * *_retval) override;
- NS_IMETHOD OpenOutputStream(int64_t offset, nsIOutputStream * *_retval) override;
- NS_IMETHOD MaybeMarkValid() override;
- NS_IMETHOD HasWriteAccess(bool aWriteOnly, bool *aWriteAccess) override;
- NS_IMETHOD VisitMetaData(nsICacheEntryMetaDataVisitor*) override;
- explicit _OldCacheEntryWrapper(nsICacheEntryDescriptor* desc);
- explicit _OldCacheEntryWrapper(nsICacheEntryInfo* info);
- private:
- virtual ~_OldCacheEntryWrapper();
- _OldCacheEntryWrapper() = delete;
- nsICacheEntryDescriptor* mOldDesc; // ref holded in mOldInfo
- nsCOMPtr<nsICacheEntryInfo> mOldInfo;
- };
- class _OldCacheLoad : public Runnable
- , public nsICacheListener
- {
- public:
- NS_DECL_ISUPPORTS_INHERITED
- NS_DECL_NSIRUNNABLE
- NS_DECL_NSICACHELISTENER
- _OldCacheLoad(nsCSubstring const& aScheme,
- nsCSubstring const& aCacheKey,
- nsICacheEntryOpenCallback* aCallback,
- nsIApplicationCache* aAppCache,
- nsILoadContextInfo* aLoadInfo,
- bool aWriteToDisk,
- uint32_t aFlags);
- nsresult Start();
- protected:
- virtual ~_OldCacheLoad();
- private:
- void Check();
- nsCOMPtr<nsIEventTarget> mCacheThread;
- nsCString const mScheme;
- nsCString const mCacheKey;
- nsCOMPtr<nsICacheEntryOpenCallback> mCallback;
- nsCOMPtr<nsILoadContextInfo> mLoadInfo;
- uint32_t const mFlags;
- bool const mWriteToDisk : 1;
- bool mNew : 1;
- bool mOpening : 1;
- bool mSync : 1;
- nsCOMPtr<nsICacheEntry> mCacheEntry;
- nsresult mStatus;
- uint32_t mRunCount;
- nsCOMPtr<nsIApplicationCache> mAppCache;
- mozilla::TimeStamp mLoadStart;
- };
- class _OldStorage : public nsICacheStorage
- {
- NS_DECL_THREADSAFE_ISUPPORTS
- NS_DECL_NSICACHESTORAGE
- public:
- _OldStorage(nsILoadContextInfo* aInfo,
- bool aAllowDisk,
- bool aLookupAppCache,
- bool aOfflineStorage,
- nsIApplicationCache* aAppCache);
- private:
- virtual ~_OldStorage();
- nsresult AssembleCacheKey(nsIURI *aURI, nsACString const & aIdExtension,
- nsACString & aCacheKey, nsACString & aScheme);
- nsresult ChooseApplicationCache(nsCSubstring const &cacheKey, nsIApplicationCache** aCache);
- nsCOMPtr<nsILoadContextInfo> mLoadInfo;
- nsCOMPtr<nsIApplicationCache> mAppCache;
- bool const mWriteToDisk : 1;
- bool const mLookupAppCache : 1;
- bool const mOfflineStorage : 1;
- };
- class _OldVisitCallbackWrapper : public nsICacheVisitor
- {
- NS_DECL_THREADSAFE_ISUPPORTS
- NS_DECL_NSICACHEVISITOR
- _OldVisitCallbackWrapper(char const * deviceID,
- nsICacheStorageVisitor * cb,
- bool visitEntries,
- nsILoadContextInfo * aInfo)
- : mCB(cb)
- , mVisitEntries(visitEntries)
- , mDeviceID(deviceID)
- , mLoadInfo(aInfo)
- , mHit(false)
- {
- MOZ_COUNT_CTOR(_OldVisitCallbackWrapper);
- }
- private:
- virtual ~_OldVisitCallbackWrapper();
- nsCOMPtr<nsICacheStorageVisitor> mCB;
- bool mVisitEntries;
- char const * mDeviceID;
- nsCOMPtr<nsILoadContextInfo> mLoadInfo;
- bool mHit; // set to true when the device was found
- };
- class _OldGetDiskConsumption : public Runnable,
- public nsICacheVisitor
- {
- public:
- static nsresult Get(nsICacheStorageConsumptionObserver* aCallback);
- private:
- explicit _OldGetDiskConsumption(nsICacheStorageConsumptionObserver* aCallback);
- virtual ~_OldGetDiskConsumption() {}
- NS_DECL_ISUPPORTS_INHERITED
- NS_DECL_NSICACHEVISITOR
- NS_DECL_NSIRUNNABLE
- nsCOMPtr<nsICacheStorageConsumptionObserver> mCallback;
- int64_t mSize;
- };
- } // namespace net
- } // namespace mozilla
- #endif
|