Bug 1883861 - Part 2: Remove unnecessary SSE2 check for x86 memory barrier. r=jandem
[gecko.git] / dom / quota / OriginOperations.h
blobf0b9ee58d815ba06cd8b7c86495b28df6d04fb3e
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef DOM_QUOTA_ORIGINOPERATIONS_H_
8 #define DOM_QUOTA_ORIGINOPERATIONS_H_
10 #include <cstdint>
12 #include "mozilla/dom/quota/Client.h"
13 #include "mozilla/dom/quota/PersistenceType.h"
14 #include "nsTArrayForwardDeclare.h"
16 template <class T>
17 class RefPtr;
19 namespace mozilla {
21 template <class T>
22 class Maybe;
23 template <typename T>
24 class MovingNotNull;
25 class OriginAttributesPattern;
27 namespace dom::quota {
29 class EstimateParams;
30 class GetFullOriginMetadataParams;
31 class NormalOriginOperationBase;
32 class OriginDirectoryLock;
33 struct OriginMetadata;
34 class OriginOperationBase;
35 class QuotaManager;
36 class QuotaRequestBase;
37 class QuotaUsageRequestBase;
38 class RequestParams;
39 template <typename T>
40 class ResolvableNormalOriginOp;
41 class UniversalDirectoryLock;
42 class UsageRequestParams;
44 RefPtr<OriginOperationBase> CreateFinalizeOriginEvictionOp(
45 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
46 nsTArray<RefPtr<OriginDirectoryLock>>&& aLocks);
48 RefPtr<NormalOriginOperationBase> CreateSaveOriginAccessTimeOp(
49 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
50 const OriginMetadata& aOriginMetadata, int64_t aTimestamp);
52 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearPrivateRepositoryOp(
53 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
55 RefPtr<ResolvableNormalOriginOp<bool>> CreateShutdownStorageOp(
56 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
58 RefPtr<QuotaUsageRequestBase> CreateGetUsageOp(
59 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
60 const UsageRequestParams& aParams);
62 RefPtr<QuotaUsageRequestBase> CreateGetOriginUsageOp(
63 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
64 const UsageRequestParams& aParams);
66 RefPtr<QuotaRequestBase> CreateStorageNameOp(
67 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
69 RefPtr<ResolvableNormalOriginOp<bool>> CreateStorageInitializedOp(
70 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
72 RefPtr<ResolvableNormalOriginOp<bool>> CreateTemporaryStorageInitializedOp(
73 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
75 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitOp(
76 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
77 RefPtr<UniversalDirectoryLock> aDirectoryLock);
79 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitTemporaryStorageOp(
80 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
81 RefPtr<UniversalDirectoryLock> aDirectoryLock);
83 RefPtr<QuotaRequestBase> CreateInitializePersistentOriginOp(
84 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
85 const RequestParams& aParams);
87 RefPtr<QuotaRequestBase> CreateInitializeTemporaryOriginOp(
88 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
89 const RequestParams& aParams);
91 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializePersistentClientOp(
92 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
93 const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
94 const Client::Type aClientType);
96 RefPtr<ResolvableNormalOriginOp<bool>> CreateInitializeTemporaryClientOp(
97 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
98 const PersistenceType aPersistenceType,
99 const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
100 const Client::Type aClientType);
102 RefPtr<QuotaRequestBase> CreateGetFullOriginMetadataOp(
103 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
104 const GetFullOriginMetadataParams& aParams);
106 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearStorageOp(
107 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
109 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearOriginOp(
110 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
111 const Maybe<PersistenceType>& aPersistenceType,
112 const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
113 const Maybe<Client::Type>& aClientType);
115 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearStoragesForOriginPrefixOp(
116 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
117 const Maybe<PersistenceType>& aPersistenceType,
118 const mozilla::ipc::PrincipalInfo& aPrincipalInfo);
120 RefPtr<ResolvableNormalOriginOp<bool>> CreateClearDataOp(
121 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
122 const OriginAttributesPattern& aPattern);
124 RefPtr<QuotaRequestBase> CreateResetOriginOp(
125 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
126 const RequestParams& aParams);
128 RefPtr<QuotaRequestBase> CreatePersistedOp(
129 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
130 const RequestParams& aParams);
132 RefPtr<QuotaRequestBase> CreatePersistOp(
133 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
134 const RequestParams& aParams);
136 RefPtr<QuotaRequestBase> CreateEstimateOp(
137 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager,
138 const EstimateParams& aParams);
140 RefPtr<QuotaRequestBase> CreateListOriginsOp(
141 MovingNotNull<RefPtr<QuotaManager>> aQuotaManager);
143 } // namespace dom::quota
144 } // namespace mozilla
146 #endif // DOM_QUOTA_ORIGINOPERATIONS_H_