summaryrefslogtreecommitdiffstats
path: root/dom/quota/QuotaResults.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/quota/QuotaResults.cpp')
-rw-r--r--dom/quota/QuotaResults.cpp184
1 files changed, 184 insertions, 0 deletions
diff --git a/dom/quota/QuotaResults.cpp b/dom/quota/QuotaResults.cpp
new file mode 100644
index 0000000000..6e011cf7a0
--- /dev/null
+++ b/dom/quota/QuotaResults.cpp
@@ -0,0 +1,184 @@
+/* -*- 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/. */
+
+#include "QuotaResults.h"
+
+#include "ErrorList.h"
+#include "mozilla/Assertions.h"
+#include "mozilla/MacroForEach.h"
+#include "nscore.h"
+
+namespace mozilla::dom::quota {
+
+FullOriginMetadataResult::FullOriginMetadataResult(
+ const FullOriginMetadata& aFullOriginMetadata)
+ : mFullOriginMetadata(aFullOriginMetadata) {}
+
+NS_IMPL_ISUPPORTS(FullOriginMetadataResult, nsIQuotaFullOriginMetadataResult)
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetSuffix(nsACString& aSuffix) {
+ aSuffix = mFullOriginMetadata.mSuffix;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetGroup(nsACString& aGroup) {
+ aGroup = mFullOriginMetadata.mGroup;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetOrigin(nsACString& aOrigin) {
+ aOrigin = mFullOriginMetadata.mOrigin;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetStorageOrigin(nsACString& aStorageOrigin) {
+ aStorageOrigin = mFullOriginMetadata.mStorageOrigin;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetPersistenceType(nsACString& aPersistenceType) {
+ aPersistenceType =
+ PersistenceTypeToString(mFullOriginMetadata.mPersistenceType);
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetPersisted(bool* aPersisted) {
+ MOZ_ASSERT(aPersisted);
+
+ *aPersisted = mFullOriginMetadata.mPersisted;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+FullOriginMetadataResult::GetLastAccessTime(int64_t* aLastAccessTime) {
+ MOZ_ASSERT(aLastAccessTime);
+
+ *aLastAccessTime = mFullOriginMetadata.mLastAccessTime;
+ return NS_OK;
+}
+
+UsageResult::UsageResult(const nsACString& aOrigin, bool aPersisted,
+ uint64_t aUsage, uint64_t aLastAccessed)
+ : mOrigin(aOrigin),
+ mUsage(aUsage),
+ mPersisted(aPersisted),
+ mLastAccessed(aLastAccessed) {}
+
+NS_IMPL_ISUPPORTS(UsageResult, nsIQuotaUsageResult)
+
+NS_IMETHODIMP
+UsageResult::GetOrigin(nsACString& aOrigin) {
+ aOrigin = mOrigin;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+UsageResult::GetPersisted(bool* aPersisted) {
+ MOZ_ASSERT(aPersisted);
+
+ *aPersisted = mPersisted;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+UsageResult::GetUsage(uint64_t* aUsage) {
+ MOZ_ASSERT(aUsage);
+
+ *aUsage = mUsage;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+UsageResult::GetLastAccessed(uint64_t* aLastAccessed) {
+ MOZ_ASSERT(aLastAccessed);
+
+ *aLastAccessed = mLastAccessed;
+ return NS_OK;
+}
+
+OriginUsageResult::OriginUsageResult(UsageInfo aUsageInfo)
+ : mUsageInfo(aUsageInfo) {}
+
+NS_IMPL_ISUPPORTS(OriginUsageResult, nsIQuotaOriginUsageResult)
+
+NS_IMETHODIMP
+OriginUsageResult::GetDatabaseUsage(uint64_t* aDatabaseUsage) {
+ MOZ_ASSERT(aDatabaseUsage);
+
+ *aDatabaseUsage = mUsageInfo.DatabaseUsage().valueOr(0);
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+OriginUsageResult::GetFileUsage(uint64_t* aFileUsage) {
+ MOZ_ASSERT(aFileUsage);
+
+ *aFileUsage = mUsageInfo.FileUsage().valueOr(0);
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+OriginUsageResult::GetUsage(uint64_t* aUsage) {
+ MOZ_ASSERT(aUsage);
+
+ *aUsage = mUsageInfo.TotalUsage().valueOr(0);
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+OriginUsageResult::GetDatabaseUsageIsExplicit(bool* aDatabaseUsageIsExplicit) {
+ MOZ_ASSERT(aDatabaseUsageIsExplicit);
+
+ *aDatabaseUsageIsExplicit = mUsageInfo.DatabaseUsage().isSome();
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+OriginUsageResult::GetFileUsageIsExplicit(bool* aFileUsageIsExplicit) {
+ MOZ_ASSERT(aFileUsageIsExplicit);
+
+ *aFileUsageIsExplicit = mUsageInfo.FileUsage().isSome();
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+OriginUsageResult::GetTotalUsageIsExplicit(bool* aTotalUsageIsExplicit) {
+ MOZ_ASSERT(aTotalUsageIsExplicit);
+
+ *aTotalUsageIsExplicit = mUsageInfo.TotalUsage().isSome();
+ return NS_OK;
+}
+
+UsageInfo& OriginUsageResult::GetUsageInfo() { return mUsageInfo; }
+
+EstimateResult::EstimateResult(uint64_t aUsage, uint64_t aLimit)
+ : mUsage(aUsage), mLimit(aLimit) {}
+
+NS_IMPL_ISUPPORTS(EstimateResult, nsIQuotaEstimateResult)
+
+NS_IMETHODIMP
+EstimateResult::GetUsage(uint64_t* aUsage) {
+ MOZ_ASSERT(aUsage);
+
+ *aUsage = mUsage;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+EstimateResult::GetLimit(uint64_t* aLimit) {
+ MOZ_ASSERT(aLimit);
+
+ *aLimit = mLimit;
+ return NS_OK;
+}
+
+} // namespace mozilla::dom::quota