//
// Automatically generated by ipdlc.
// Edit at your own risk
//

#ifndef PVR_h
#define PVR_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"
#include "CrashReporter/CrashReporterInitArgs.h"
#include "mozilla/gfx/GraphicsMessages.h"
#include "mozilla/dom/MemoryReportTypes.h"
#include "mozilla/dom/PrefsTypes.h"

namespace mozilla {
namespace gfx {
class PVRParent;
} // namespace gfx
} // namespace mozilla
namespace mozilla {
namespace gfx {
class PVRChild;
} // namespace gfx
} // namespace mozilla

//-----------------------------------------------------------------------------
// Code common to PVRChild and PVRParent
//
namespace mozilla {
namespace gfx {
namespace PVR {

nsresult
CreateEndpoints(
        mozilla::ipc::EndpointProcInfo aParentDestInfo,
        mozilla::ipc::EndpointProcInfo aChildDestInfo,
        mozilla::ipc::Endpoint<::mozilla::gfx::PVRParent>* aParent,
        mozilla::ipc::Endpoint<::mozilla::gfx::PVRChild>* aChild);

enum MessageType {
    PVRStart = PVRMsgStart << 16,
    Msg_NewGPUVRManager__ID,
    Msg_Init__ID,
    Msg_UpdateVar__ID,
    Msg_PreferenceUpdate__ID,
    Msg_OpenVRControllerActionPathToVR__ID,
    Msg_OpenVRControllerManifestPathToVR__ID,
    Msg_RequestMemoryReport__ID,
    Reply_RequestMemoryReport__ID,
    Msg_InitComplete__ID,
    Msg_OpenVRControllerActionPathToParent__ID,
    Msg_OpenVRControllerManifestPathToParent__ID,
    Msg_InitCrashReporter__ID,
    Msg_AddMemoryReport__ID,
    PVREnd
};

mozilla::UniquePtr<IPC::Message>
Msg_NewGPUVRManager(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_Init(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_UpdateVar(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_PreferenceUpdate(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_OpenVRControllerActionPathToVR(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_OpenVRControllerManifestPathToVR(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_RequestMemoryReport(IPC::Message::routeid_t routingId);
mozilla::UniquePtr<IPC::Message>
Reply_RequestMemoryReport(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_InitComplete(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_OpenVRControllerActionPathToParent(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_OpenVRControllerManifestPathToParent(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_InitCrashReporter(IPC::Message::routeid_t routingId);

mozilla::UniquePtr<IPC::Message>
Msg_AddMemoryReport(IPC::Message::routeid_t routingId);



} // namespace PVR
} // namespace gfx
} // namespace mozilla

#endif // ifndef PVR_h
