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

#ifndef PInProcess_h
#define PInProcess_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/dom/DOMTypes.h"

namespace mozilla {
namespace dom {
class PInProcessParent;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
class PInProcessChild;
} // namespace dom
} // namespace mozilla

//-----------------------------------------------------------------------------
// Code common to PInProcessChild and PInProcessParent
//
namespace mozilla {
namespace dom {
namespace PInProcess {

nsresult
CreateEndpoints(
        mozilla::ipc::EndpointProcInfo aParentDestInfo,
        mozilla::ipc::EndpointProcInfo aChildDestInfo,
        mozilla::ipc::Endpoint<::mozilla::dom::PInProcessParent>* aParent,
        mozilla::ipc::Endpoint<::mozilla::dom::PInProcessChild>* aChild);

nsresult
CreateEndpoints(
        mozilla::ipc::Endpoint<::mozilla::dom::PInProcessParent>* aParent,
        mozilla::ipc::Endpoint<::mozilla::dom::PInProcessChild>* aChild);

enum MessageType {
    PInProcessStart = PInProcessMsgStart << 16,
    PInProcessEnd
};



} // namespace PInProcess
} // namespace dom
} // namespace mozilla

#endif // ifndef PInProcess_h
