Generated file

Copy as Markdown

Other Tools

//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#ifndef PProcInfo_h
#define PProcInfo_h
#include "mozilla/Attributes.h"
#include "IPCMessageStart.h"
#include "mozilla/RefPtr.h"
#include "nsString.h"
#include "nsTArray.h"
#include "nsTHashtable.h"
#include "mozilla/MozPromise.h"
#include "mozilla/OperatorNewExtensions.h"
#include "mozilla/UniquePtr.h"
#include "mozilla/ipc/ByteBuf.h"
#include "mozilla/ipc/FileDescriptor.h"
#include "mozilla/ipc/IPCForwards.h"
#include "mozilla/ipc/Shmem.h"
// Headers for typedefs
#include "mozilla/ProcInfoIPCUtils.h"
#include "mozilla/ipc/IPDLStructMember.h"
//-----------------------------------------------------------------------------
// Declaration of the IPDL type |struct RemoteProcInfo|
//
namespace mozilla {
class RemoteProcInfo final
{
private:
typedef ::uint64_t uint64_t;
typedef ::mozilla::ThreadInfo ThreadInfo;
public:
#ifdef __clang__
# pragma clang diagnostic push
# if __has_warning("-Wdefaulted-function-deleted")
# pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
# endif
#endif
RemoteProcInfo() = default;
#ifdef __clang__
# pragma clang diagnostic pop
#endif
MOZ_IMPLICIT RemoteProcInfo(
const uint64_t& _memory,
const uint64_t& _cpuTime,
const uint64_t& _cpuCycleCount,
const nsTArray<ThreadInfo>& _threads) :
threads_(_threads),
memory_(_memory),
cpuTime_(_cpuTime),
cpuCycleCount_(_cpuCycleCount)
{
}
MOZ_IMPLICIT RemoteProcInfo(
uint64_t&& _memory,
uint64_t&& _cpuTime,
uint64_t&& _cpuCycleCount,
nsTArray<ThreadInfo>&& _threads) :
threads_(std::move(_threads)),
memory_(std::move(_memory)),
cpuTime_(std::move(_cpuTime)),
cpuCycleCount_(std::move(_cpuCycleCount))
{
}
uint64_t&
memory()
{
return memory_;
}
const uint64_t&
memory() const
{
return memory_;
}
uint64_t&
cpuTime()
{
return cpuTime_;
}
const uint64_t&
cpuTime() const
{
return cpuTime_;
}
uint64_t&
cpuCycleCount()
{
return cpuCycleCount_;
}
const uint64_t&
cpuCycleCount() const
{
return cpuCycleCount_;
}
nsTArray<ThreadInfo>&
threads()
{
return threads_;
}
const nsTArray<ThreadInfo>&
threads() const
{
return threads_;
}
private:
void
StaticAssertions() const;
::mozilla::ipc::IPDLStructMember<CopyableTArray<ThreadInfo>> threads_;
::mozilla::ipc::IPDLStructMember<uint64_t> memory_;
::mozilla::ipc::IPDLStructMember<uint64_t> cpuTime_;
::mozilla::ipc::IPDLStructMember<uint64_t> cpuCycleCount_;
};
} // namespace mozilla
namespace IPC {
template<>
struct ParamTraits <::mozilla::RemoteProcInfo>
{
typedef ::mozilla::RemoteProcInfo paramType;
static void
Write(
IPC::MessageWriter* aWriter,
const paramType& aVar);
static IPC::ReadResult<paramType>
Read(IPC::MessageReader* aReader);
};
} // namespace IPC
namespace mozilla {
class PProcInfoParent;
} // namespace mozilla
namespace mozilla {
class PProcInfoChild;
} // namespace mozilla
//-----------------------------------------------------------------------------
// Code common to PProcInfoChild and PProcInfoParent
//
namespace mozilla {
namespace PProcInfo {
nsresult
CreateEndpoints(
mozilla::ipc::EndpointProcInfo aParentDestInfo,
mozilla::ipc::EndpointProcInfo aChildDestInfo,
mozilla::ipc::Endpoint<::mozilla::PProcInfoParent>* aParent,
mozilla::ipc::Endpoint<::mozilla::PProcInfoChild>* aChild);
enum MessageType {
PProcInfoStart = PProcInfoMsgStart << 16,
Msg_GetProcInfo__ID,
Reply_GetProcInfo__ID,
PProcInfoEnd
};
mozilla::UniquePtr<IPC::Message>
Msg_GetProcInfo(IPC::Message::routeid_t routingId);
mozilla::UniquePtr<IPC::Message>
Reply_GetProcInfo(IPC::Message::routeid_t routingId);
} // namespace PProcInfo
} // namespace mozilla
#endif // ifndef PProcInfo_h