Files
sousa-gecko/xpcom/base/MemoryReportingProcess.h
Emilio Cobos Álvarez 2223a8bee2 Bug 2054311 - Sort headers in xpcom/. r=xpcom-reviewers,nika
Automatically generated with:

    cp dom/.clang-format xpcom/ && mach format xpcom/**.{cpp,h}

Manual changes:

 * nsTDependentSubstring.cpp was relying on include order, prevent that
   from being changed by clang-format.
 * Missing nsAtom.h include from nsGkAtoms.h
 * nsWindowsHelpers.h needed to keep the include order
 * MemoryPressureLevelMac.h needed mozilla/Attributes.h

Differential Revision: https://phabricator.services.mozilla.com/D311687
2026-07-13 18:24:13 +00:00

45 lines
1.2 KiB
C++

/* 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 xpcom_base_MemoryReportingProcess_h
#define xpcom_base_MemoryReportingProcess_h
#include <stdint.h>
#include "nscore.h"
namespace mozilla {
namespace ipc {
class FileDescriptor;
} // namespace ipc
template <class T>
class Maybe;
// Top-level process actors should implement this to integrate with
// nsMemoryReportManager.
class MemoryReportingProcess {
public:
NS_IMETHOD_(MozExternalRefCountType) AddRef() = 0;
NS_IMETHOD_(MozExternalRefCountType) Release() = 0;
virtual ~MemoryReportingProcess() = default;
// Return true if the process is still alive, false otherwise.
virtual bool IsAlive() const = 0;
// Initiate a memory report request, returning true if a report was
// successfully initiated and false otherwise.
virtual bool SendRequestMemoryReport(
const uint32_t& aGeneration, const bool& aAnonymize,
const bool& aMinimizeMemoryUsage,
const Maybe<mozilla::ipc::FileDescriptor>& aDMDFile) = 0;
virtual int32_t Pid() const = 0;
};
} // namespace mozilla
#endif // xpcom_base_MemoryReportingProcess_h