QuotaResults.cpp (5504B)
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 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #include "QuotaResults.h" 8 9 #include "ErrorList.h" 10 #include "mozilla/Assertions.h" 11 #include "nscore.h" 12 13 namespace mozilla::dom::quota { 14 15 FullOriginMetadataResult::FullOriginMetadataResult( 16 const FullOriginMetadata& aFullOriginMetadata) 17 : mFullOriginMetadata(aFullOriginMetadata) {} 18 19 NS_IMPL_ISUPPORTS(FullOriginMetadataResult, nsIQuotaFullOriginMetadataResult) 20 21 NS_IMETHODIMP 22 FullOriginMetadataResult::GetSuffix(nsACString& aSuffix) { 23 aSuffix = mFullOriginMetadata.mSuffix; 24 return NS_OK; 25 } 26 27 NS_IMETHODIMP 28 FullOriginMetadataResult::GetGroup(nsACString& aGroup) { 29 aGroup = mFullOriginMetadata.mGroup; 30 return NS_OK; 31 } 32 33 NS_IMETHODIMP 34 FullOriginMetadataResult::GetOrigin(nsACString& aOrigin) { 35 aOrigin = mFullOriginMetadata.mOrigin; 36 return NS_OK; 37 } 38 39 NS_IMETHODIMP 40 FullOriginMetadataResult::GetStorageOrigin(nsACString& aStorageOrigin) { 41 aStorageOrigin = mFullOriginMetadata.mStorageOrigin; 42 return NS_OK; 43 } 44 45 NS_IMETHODIMP 46 FullOriginMetadataResult::GetPrivate(bool* aPrivate) { 47 MOZ_ASSERT(aPrivate); 48 49 *aPrivate = mFullOriginMetadata.mIsPrivate; 50 return NS_OK; 51 } 52 53 NS_IMETHODIMP 54 FullOriginMetadataResult::GetPersistenceType(nsACString& aPersistenceType) { 55 aPersistenceType = 56 PersistenceTypeToString(mFullOriginMetadata.mPersistenceType); 57 return NS_OK; 58 } 59 60 NS_IMETHODIMP 61 FullOriginMetadataResult::GetLastAccessTime(int64_t* aLastAccessTime) { 62 MOZ_ASSERT(aLastAccessTime); 63 64 *aLastAccessTime = mFullOriginMetadata.mLastAccessTime; 65 return NS_OK; 66 } 67 68 NS_IMETHODIMP 69 FullOriginMetadataResult::GetLastMaintenanceDate( 70 int32_t* aLastMaintenanceDate) { 71 MOZ_ASSERT(aLastMaintenanceDate); 72 73 *aLastMaintenanceDate = mFullOriginMetadata.mLastMaintenanceDate; 74 return NS_OK; 75 } 76 77 NS_IMETHODIMP 78 FullOriginMetadataResult::GetAccessed(bool* aAccessed) { 79 MOZ_ASSERT(aAccessed); 80 81 *aAccessed = mFullOriginMetadata.mAccessed; 82 return NS_OK; 83 } 84 85 NS_IMETHODIMP 86 FullOriginMetadataResult::GetPersisted(bool* aPersisted) { 87 MOZ_ASSERT(aPersisted); 88 89 *aPersisted = mFullOriginMetadata.mPersisted; 90 return NS_OK; 91 } 92 93 NS_IMETHODIMP 94 FullOriginMetadataResult::GetClientUsages(nsACString& aClientUsages) { 95 mFullOriginMetadata.mClientUsages.Serialize(aClientUsages); 96 return NS_OK; 97 } 98 99 NS_IMETHODIMP 100 FullOriginMetadataResult::GetOriginUsage(uint64_t* aOriginUsage) { 101 MOZ_ASSERT(aOriginUsage); 102 103 *aOriginUsage = mFullOriginMetadata.mOriginUsage; 104 return NS_OK; 105 } 106 107 NS_IMETHODIMP 108 FullOriginMetadataResult::GetQuotaVersion(uint32_t* aQuotaVersion) { 109 MOZ_ASSERT(aQuotaVersion); 110 111 *aQuotaVersion = mFullOriginMetadata.mQuotaVersion; 112 return NS_OK; 113 } 114 115 UsageResult::UsageResult(const nsACString& aOrigin, bool aPersisted, 116 uint64_t aUsage, uint64_t aLastAccessed) 117 : mOrigin(aOrigin), 118 mUsage(aUsage), 119 mPersisted(aPersisted), 120 mLastAccessed(aLastAccessed) {} 121 122 NS_IMPL_ISUPPORTS(UsageResult, nsIQuotaUsageResult) 123 124 NS_IMETHODIMP 125 UsageResult::GetOrigin(nsACString& aOrigin) { 126 aOrigin = mOrigin; 127 return NS_OK; 128 } 129 130 NS_IMETHODIMP 131 UsageResult::GetPersisted(bool* aPersisted) { 132 MOZ_ASSERT(aPersisted); 133 134 *aPersisted = mPersisted; 135 return NS_OK; 136 } 137 138 NS_IMETHODIMP 139 UsageResult::GetUsage(uint64_t* aUsage) { 140 MOZ_ASSERT(aUsage); 141 142 *aUsage = mUsage; 143 return NS_OK; 144 } 145 146 NS_IMETHODIMP 147 UsageResult::GetLastAccessed(uint64_t* aLastAccessed) { 148 MOZ_ASSERT(aLastAccessed); 149 150 *aLastAccessed = mLastAccessed; 151 return NS_OK; 152 } 153 154 OriginUsageResult::OriginUsageResult(UsageInfo aUsageInfo) 155 : mUsageInfo(aUsageInfo) {} 156 157 NS_IMPL_ISUPPORTS(OriginUsageResult, nsIQuotaOriginUsageResult) 158 159 NS_IMETHODIMP 160 OriginUsageResult::GetDatabaseUsage(uint64_t* aDatabaseUsage) { 161 MOZ_ASSERT(aDatabaseUsage); 162 163 *aDatabaseUsage = mUsageInfo.DatabaseUsage().valueOr(0); 164 return NS_OK; 165 } 166 167 NS_IMETHODIMP 168 OriginUsageResult::GetFileUsage(uint64_t* aFileUsage) { 169 MOZ_ASSERT(aFileUsage); 170 171 *aFileUsage = mUsageInfo.FileUsage().valueOr(0); 172 return NS_OK; 173 } 174 175 NS_IMETHODIMP 176 OriginUsageResult::GetUsage(uint64_t* aUsage) { 177 MOZ_ASSERT(aUsage); 178 179 *aUsage = mUsageInfo.TotalUsage().valueOr(0); 180 return NS_OK; 181 } 182 183 NS_IMETHODIMP 184 OriginUsageResult::GetDatabaseUsageIsExplicit(bool* aDatabaseUsageIsExplicit) { 185 MOZ_ASSERT(aDatabaseUsageIsExplicit); 186 187 *aDatabaseUsageIsExplicit = mUsageInfo.DatabaseUsage().isSome(); 188 return NS_OK; 189 } 190 191 NS_IMETHODIMP 192 OriginUsageResult::GetFileUsageIsExplicit(bool* aFileUsageIsExplicit) { 193 MOZ_ASSERT(aFileUsageIsExplicit); 194 195 *aFileUsageIsExplicit = mUsageInfo.FileUsage().isSome(); 196 return NS_OK; 197 } 198 199 NS_IMETHODIMP 200 OriginUsageResult::GetTotalUsageIsExplicit(bool* aTotalUsageIsExplicit) { 201 MOZ_ASSERT(aTotalUsageIsExplicit); 202 203 *aTotalUsageIsExplicit = mUsageInfo.TotalUsage().isSome(); 204 return NS_OK; 205 } 206 207 UsageInfo& OriginUsageResult::GetUsageInfo() { return mUsageInfo; } 208 209 EstimateResult::EstimateResult(uint64_t aUsage, uint64_t aLimit) 210 : mUsage(aUsage), mLimit(aLimit) {} 211 212 NS_IMPL_ISUPPORTS(EstimateResult, nsIQuotaEstimateResult) 213 214 NS_IMETHODIMP 215 EstimateResult::GetUsage(uint64_t* aUsage) { 216 MOZ_ASSERT(aUsage); 217 218 *aUsage = mUsage; 219 return NS_OK; 220 } 221 222 NS_IMETHODIMP 223 EstimateResult::GetLimit(uint64_t* aLimit) { 224 MOZ_ASSERT(aLimit); 225 226 *aLimit = mLimit; 227 return NS_OK; 228 } 229 230 } // namespace mozilla::dom::quota