12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /* 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 DirectoryProvider_h__
- #define DirectoryProvider_h__
- #include "nsIDirectoryService.h"
- #include "nsComponentManagerUtils.h"
- #include "nsISimpleEnumerator.h"
- #include "nsIFile.h"
- #include "mozilla/Attributes.h"
- #define NS_BROWSERDIRECTORYPROVIDER_CONTRACTID \
- "@mozilla.org/browser/directory-provider;1"
- namespace mozilla {
- namespace browser {
- class DirectoryProvider final : public nsIDirectoryServiceProvider2
- {
- public:
- NS_DECL_ISUPPORTS
- NS_DECL_NSIDIRECTORYSERVICEPROVIDER
- NS_DECL_NSIDIRECTORYSERVICEPROVIDER2
- private:
- ~DirectoryProvider() {}
- class AppendingEnumerator final : public nsISimpleEnumerator
- {
- public:
- NS_DECL_ISUPPORTS
- NS_DECL_NSISIMPLEENUMERATOR
- AppendingEnumerator(nsISimpleEnumerator* aBase,
- char const *const *aAppendList);
- private:
- ~AppendingEnumerator() {}
- nsCOMPtr<nsISimpleEnumerator> mBase;
- char const *const *const mAppendList;
- nsCOMPtr<nsIFile> mNext;
- };
- };
- } // namespace browser
- } // namespace mozilla
- #endif // DirectoryProvider_h__
|