mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
54 lines
1.0 KiB
C
54 lines
1.0 KiB
C
|
/* 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 CacheEntriesEnumerator__h__
|
||
|
#define CacheEntriesEnumerator__h__
|
||
|
|
||
|
#include "nsCOMPtr.h"
|
||
|
|
||
|
class nsIFile;
|
||
|
class nsIDirectoryEnumerator;
|
||
|
class nsIThread;
|
||
|
|
||
|
namespace mozilla {
|
||
|
namespace net {
|
||
|
|
||
|
class CacheFileIOManager;
|
||
|
class CacheFileListener;
|
||
|
class CacheFile;
|
||
|
|
||
|
class CacheEntriesEnumeratorCallback : public nsISupports
|
||
|
{
|
||
|
public:
|
||
|
virtual void OnFile(CacheFile* aFile) = 0;
|
||
|
};
|
||
|
|
||
|
class CacheEntriesEnumerator
|
||
|
{
|
||
|
public:
|
||
|
~CacheEntriesEnumerator();
|
||
|
|
||
|
bool HasMore();
|
||
|
nsresult GetNextFile(nsIFile** aFile);
|
||
|
|
||
|
protected:
|
||
|
friend class CacheFileIOManager;
|
||
|
CacheEntriesEnumerator(nsIFile* aEntriesDirectory);
|
||
|
nsresult Init();
|
||
|
|
||
|
private:
|
||
|
nsCOMPtr<nsIDirectoryEnumerator> mEnumerator;
|
||
|
nsCOMPtr<nsIFile> mEntriesDirectory;
|
||
|
nsCOMPtr<nsIFile> mCurrentFile;
|
||
|
|
||
|
#ifdef DEBUG
|
||
|
nsCOMPtr<nsIThread> mThreadCheck;
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
} // net
|
||
|
} // mozilla
|
||
|
|
||
|
#endif
|