/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* 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 DOM_QUOTA_ORIGINOPERATIONS_H_ #define DOM_QUOTA_ORIGINOPERATIONS_H_ #include #include "mozilla/dom/quota/Client.h" #include "mozilla/dom/quota/PersistenceType.h" #include "nsTArrayForwardDeclare.h" template class RefPtr; namespace mozilla { template class Maybe; template class MovingNotNull; class OriginAttributesPattern; namespace dom::quota { struct ClientMetadata; class EstimateParams; class GetFullOriginMetadataParams; class NormalOriginOperationBase; class OriginDirectoryLock; struct OriginMetadata; class OriginOperationBase; class QuotaManager; class QuotaRequestBase; class QuotaUsageRequestBase; class RequestParams; template class ResolvableNormalOriginOp; class UniversalDirectoryLock; class UsageRequestParams; RefPtr CreateFinalizeOriginEvictionOp( MovingNotNull> aQuotaManager, nsTArray>&& aLocks); RefPtr> CreateSaveOriginAccessTimeOp( MovingNotNull> aQuotaManager, const OriginMetadata& aOriginMetadata, int64_t aTimestamp); RefPtr> CreateClearPrivateRepositoryOp( MovingNotNull> aQuotaManager); RefPtr> CreateShutdownStorageOp( MovingNotNull> aQuotaManager); RefPtr> CreateGetUsageOp(MovingNotNull> aQuotaManager, bool aGetAll); RefPtr> CreateGetOriginUsageOp( MovingNotNull> aQuotaManager, const mozilla::ipc::PrincipalInfo& aPrincipalInfo); RefPtr CreateStorageNameOp( MovingNotNull> aQuotaManager); RefPtr> CreateStorageInitializedOp( MovingNotNull> aQuotaManager); RefPtr> CreatePersistentStorageInitializedOp( MovingNotNull> aQuotaManager); RefPtr> CreateTemporaryStorageInitializedOp( MovingNotNull> aQuotaManager); RefPtr> CreateTemporaryGroupInitializedOp( MovingNotNull> aQuotaManager, const PrincipalMetadata& aPrincipalMetadata); RefPtr> CreatePersistentOriginInitializedOp( MovingNotNull> aQuotaManager, const OriginMetadata& aOriginMetadata); RefPtr> CreateTemporaryOriginInitializedOp( MovingNotNull> aQuotaManager, const OriginMetadata& aOriginMetadata); RefPtr> CreateInitOp( MovingNotNull> aQuotaManager, RefPtr aDirectoryLock); RefPtr> CreateInitializePersistentStorageOp( MovingNotNull> aQuotaManager, RefPtr aDirectoryLock); RefPtr> CreateInitTemporaryStorageOp(MovingNotNull> aQuotaManager, RefPtr aDirectoryLock); RefPtr> CreateInitializeTemporaryGroupOp( MovingNotNull> aQuotaManager, const PrincipalMetadata& aPrincipalMetadata, RefPtr aDirectoryLock); RefPtr> CreateInitializePersistentOriginOp( MovingNotNull> aQuotaManager, const OriginMetadata& aOriginMetadata, RefPtr aDirectoryLock); RefPtr> CreateInitializeTemporaryOriginOp( MovingNotNull> aQuotaManager, const OriginMetadata& aOriginMetadata, bool aCreateIfNonExistent, RefPtr aDirectoryLock); RefPtr> CreateInitializePersistentClientOp( MovingNotNull> aQuotaManager, const ClientMetadata& aClientMetadata, RefPtr aDirectoryLock); RefPtr> CreateInitializeTemporaryClientOp( MovingNotNull> aQuotaManager, const ClientMetadata& aClientMetadata, bool aCreateIfNonExistent, RefPtr aDirectoryLock); RefPtr CreateGetFullOriginMetadataOp( MovingNotNull> aQuotaManager, const GetFullOriginMetadataParams& aParams); RefPtr> CreateGetCachedOriginUsageOp( MovingNotNull> aQuotaManager, const mozilla::ipc::PrincipalInfo& aPrincipalInfo); RefPtr> CreateListCachedOriginsOp( MovingNotNull> aQuotaManager); RefPtr> CreateClearStorageOp( MovingNotNull> aQuotaManager); RefPtr> CreateClearOriginOp( MovingNotNull> aQuotaManager, const Maybe& aPersistenceType, const mozilla::ipc::PrincipalInfo& aPrincipalInfo); RefPtr> CreateClearClientOp( MovingNotNull> aQuotaManager, Maybe aPersistenceType, const mozilla::ipc::PrincipalInfo& aPrincipalInfo, Client::Type aClientType); RefPtr> CreateClearStoragesForOriginPrefixOp( MovingNotNull> aQuotaManager, const Maybe& aPersistenceType, const mozilla::ipc::PrincipalInfo& aPrincipalInfo); RefPtr> CreateClearDataOp( MovingNotNull> aQuotaManager, const OriginAttributesPattern& aPattern); RefPtr> CreateShutdownOriginOp(MovingNotNull> aQuotaManager, Maybe aPersistenceType, const mozilla::ipc::PrincipalInfo& aPrincipalInfo); RefPtr> CreateShutdownClientOp( MovingNotNull> aQuotaManager, Maybe aPersistenceType, const mozilla::ipc::PrincipalInfo& aPrincipalInfo, Client::Type aClientType); RefPtr CreatePersistedOp( MovingNotNull> aQuotaManager, const RequestParams& aParams); RefPtr CreatePersistOp( MovingNotNull> aQuotaManager, const RequestParams& aParams); RefPtr CreateEstimateOp( MovingNotNull> aQuotaManager, const EstimateParams& aParams); RefPtr> CreateListOriginsOp(MovingNotNull> aQuotaManager); } // namespace dom::quota } // namespace mozilla #endif // DOM_QUOTA_ORIGINOPERATIONS_H_