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

#ifndef PVRManager_h
#define PVRManager_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 "mozilla/layers/LayersSurfaces.h"
#include "mozilla/layers/LayersMessages.h"
#include "mozilla/dom/GamepadEventTypes.h"

namespace mozilla {
namespace gfx {
class PVRManagerParent;
} // namespace gfx
} // namespace mozilla
namespace mozilla {
namespace gfx {
class PVRManagerChild;
} // namespace gfx
} // namespace mozilla

//-----------------------------------------------------------------------------
// Code common to PVRManagerChild and PVRManagerParent
//
namespace mozilla {
namespace gfx {
namespace PVRManager {

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

enum MessageType {
    PVRManagerStart = PVRManagerMsgStart << 16,
    Msg_PVRLayerConstructor__ID,
    Reply_PVRLayerConstructor__ID,
    Msg_DetectRuntimes__ID,
    Msg_RefreshDisplays__ID,
    Msg_SetGroupMask__ID,
    Msg_SetHaveEventListener__ID,
    Msg_ControllerListenerAdded__ID,
    Msg_ControllerListenerRemoved__ID,
    Msg_VibrateHaptic__ID,
    Msg_StopVibrateHaptic__ID,
    Msg_StartVRNavigation__ID,
    Msg_StopVRNavigation__ID,
    Msg_StartActivity__ID,
    Msg_StopActivity__ID,
    Msg_RunPuppet__ID,
    Msg_ResetPuppet__ID,
    Msg_UpdateDisplayInfo__ID,
    Msg_UpdateRuntimeCapabilities__ID,
    Msg_ReplyGamepadVibrateHaptic__ID,
    Msg_NotifyPuppetCommandBufferCompleted__ID,
    Msg_NotifyPuppetResetComplete__ID,
    Msg___delete____ID,
    Reply___delete____ID,
    PVRManagerEnd
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



} // namespace PVRManager
} // namespace gfx
} // namespace mozilla

#endif // ifndef PVRManager_h
