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

#ifndef PBackgroundIDBDatabase_h
#define PBackgroundIDBDatabase_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/IPCBlob.h"
#include "mozilla/ipc/InputStreamParams.h"
#include "mozilla/dom/indexedDB/PBackgroundIDBSharedTypes.h"

namespace mozilla {
namespace dom {
namespace indexedDB {
class PBackgroundIDBDatabaseParent;
} // namespace indexedDB
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
namespace indexedDB {
class PBackgroundIDBDatabaseChild;
} // namespace indexedDB
} // namespace dom
} // namespace mozilla

//-----------------------------------------------------------------------------
// Code common to PBackgroundIDBDatabaseChild and PBackgroundIDBDatabaseParent
//
namespace mozilla {
namespace dom {
namespace indexedDB {
namespace PBackgroundIDBDatabase {

nsresult
CreateEndpoints(
        mozilla::ipc::EndpointProcInfo aParentDestInfo,
        mozilla::ipc::EndpointProcInfo aChildDestInfo,
        mozilla::ipc::Endpoint<::mozilla::dom::indexedDB::PBackgroundIDBDatabaseParent>* aParent,
        mozilla::ipc::Endpoint<::mozilla::dom::indexedDB::PBackgroundIDBDatabaseChild>* aChild);

enum MessageType {
    PBackgroundIDBDatabaseStart = PBackgroundIDBDatabaseMsgStart << 16,
    Msg_DeleteMe__ID,
    Msg_Blocked__ID,
    Msg_Close__ID,
    Msg_PBackgroundIDBDatabaseFileConstructor__ID,
    Reply_PBackgroundIDBDatabaseFileConstructor__ID,
    Msg_PBackgroundIDBTransactionConstructor__ID,
    Reply_PBackgroundIDBTransactionConstructor__ID,
    Msg___delete____ID,
    Reply___delete____ID,
    Msg_VersionChange__ID,
    Msg_Invalidate__ID,
    Msg_CloseAfterInvalidationComplete__ID,
    Msg_PBackgroundIDBVersionChangeTransactionConstructor__ID,
    Reply_PBackgroundIDBVersionChangeTransactionConstructor__ID,
    PBackgroundIDBDatabaseEnd
};

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

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

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

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

mozilla::UniquePtr<IPC::Message>
Msg_PBackgroundIDBTransactionConstructor(IPC::Message::routeid_t routingId);
mozilla::UniquePtr<IPC::Message>
Reply_PBackgroundIDBTransactionConstructor(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);

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

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

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

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



} // namespace PBackgroundIDBDatabase
} // namespace indexedDB
} // namespace dom
} // namespace mozilla

#endif // ifndef PBackgroundIDBDatabase_h
