/* 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 "RemoteQuotaObjectChild.h"

#include "RemoteQuotaObject.h"

namespace mozilla::dom::quota {

RemoteQuotaObjectChild::RemoteQuotaObjectChild()
    : mRemoteQuotaObject(nullptr) {}

RemoteQuotaObjectChild::~RemoteQuotaObjectChild() = default;

void RemoteQuotaObjectChild::SetRemoteQuotaObject(
    RemoteQuotaObject* aRemoteQuotaObject) {
  MOZ_ASSERT(aRemoteQuotaObject);
  MOZ_ASSERT(!mRemoteQuotaObject);

  mRemoteQuotaObject = aRemoteQuotaObject;
}

void RemoteQuotaObjectChild::ActorDestroy(ActorDestroyReason aWhy) {
  if (mRemoteQuotaObject) {
    mRemoteQuotaObject->ClearActor();
    mRemoteQuotaObject = nullptr;
  }
}

}  // namespace mozilla::dom::quota
