//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#ifndef ModelContextTypes_h
#define ModelContextTypes_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/ipc/IPDLStructMember.h"
//-----------------------------------------------------------------------------
// Declaration of the IPDL type |struct IPCToolAnnotations|
//
namespace mozilla {
namespace dom {
class IPCToolAnnotations final
{
private:
public:
#ifdef __clang__
# pragma clang diagnostic push
# if __has_warning("-Wdefaulted-function-deleted")
# pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
# endif
#endif
IPCToolAnnotations() = default;
#ifdef __clang__
# pragma clang diagnostic pop
#endif
MOZ_IMPLICIT IPCToolAnnotations(const mozilla::Maybe<bool>& _readOnlyHint) :
readOnlyHint_(_readOnlyHint)
{
}
MOZ_IMPLICIT IPCToolAnnotations(mozilla::Maybe<bool>&& _readOnlyHint) :
readOnlyHint_(std::move(_readOnlyHint))
{
}
mozilla::Maybe<bool>&
readOnlyHint()
{
return readOnlyHint_;
}
const mozilla::Maybe<bool>&
readOnlyHint() const
{
return readOnlyHint_;
}
private:
::mozilla::ipc::IPDLStructMember<mozilla::Maybe<bool>> readOnlyHint_;
};
} // namespace dom
} // namespace mozilla
namespace IPC {
template<>
struct ParamTraits <::mozilla::dom::IPCToolAnnotations>
{
typedef ::mozilla::dom::IPCToolAnnotations paramType;
static void
Write(
IPC::MessageWriter* aWriter,
const paramType& aVar);
static IPC::ReadResult<paramType>
Read(IPC::MessageReader* aReader);
};
} // namespace IPC
//-----------------------------------------------------------------------------
// Declaration of the IPDL type |struct IPCModelContextToolDefinition|
//
namespace mozilla {
namespace dom {
class IPCModelContextToolDefinition final
{
private:
typedef ::nsCString nsCString;
typedef ::mozilla::dom::IPCToolAnnotations IPCToolAnnotations;
public:
#ifdef __clang__
# pragma clang diagnostic push
# if __has_warning("-Wdefaulted-function-deleted")
# pragma clang diagnostic ignored "-Wdefaulted-function-deleted"
# endif
#endif
IPCModelContextToolDefinition() = default;
#ifdef __clang__
# pragma clang diagnostic pop
#endif
MOZ_IMPLICIT IPCModelContextToolDefinition(
const nsCString& _name,
const nsCString& _description,
const mozilla::Maybe<nsCString>& _inputSchema,
const mozilla::Maybe<IPCToolAnnotations>& _annotations) :
name_(_name),
description_(_description),
inputSchema_(_inputSchema),
annotations_(_annotations)
{
}
MOZ_IMPLICIT IPCModelContextToolDefinition(
nsCString&& _name,
nsCString&& _description,
mozilla::Maybe<nsCString>&& _inputSchema,
mozilla::Maybe<IPCToolAnnotations>&& _annotations) :
name_(std::move(_name)),
description_(std::move(_description)),
inputSchema_(std::move(_inputSchema)),
annotations_(std::move(_annotations))
{
}
nsCString&
name()
{
return name_;
}
const nsCString&
name() const
{
return name_;
}
nsCString&
description()
{
return description_;
}
const nsCString&
description() const
{
return description_;
}
mozilla::Maybe<nsCString>&
inputSchema()
{
return inputSchema_;
}
const mozilla::Maybe<nsCString>&
inputSchema() const
{
return inputSchema_;
}
mozilla::Maybe<IPCToolAnnotations>&
annotations()
{
return annotations_;
}
const mozilla::Maybe<IPCToolAnnotations>&
annotations() const
{
return annotations_;
}
private:
::mozilla::ipc::IPDLStructMember<nsCString> name_;
::mozilla::ipc::IPDLStructMember<nsCString> description_;
::mozilla::ipc::IPDLStructMember<mozilla::Maybe<nsCString>> inputSchema_;
::mozilla::ipc::IPDLStructMember<mozilla::Maybe<IPCToolAnnotations>> annotations_;
};
} // namespace dom
} // namespace mozilla
namespace IPC {
template<>
struct ParamTraits <::mozilla::dom::IPCModelContextToolDefinition>
{
typedef ::mozilla::dom::IPCModelContextToolDefinition paramType;
static void
Write(
IPC::MessageWriter* aWriter,
const paramType& aVar);
static IPC::ReadResult<paramType>
Read(IPC::MessageReader* aReader);
};
} // namespace IPC
#endif // ifndef ModelContextTypes_h