extern crate alloc;
use super::*;
pub enum RemoteClientMessageOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct RemoteClientMessage<'a> {
pub _tab: ::flatbuffers::Table<'a>,
}
impl<'a> ::flatbuffers::Follow<'a> for RemoteClientMessage<'a> {
type Inner = RemoteClientMessage<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: unsafe { ::flatbuffers::Table::new(buf, loc) } }
}
}
impl<'a> RemoteClientMessage<'a> {
pub const VT_PAYLOAD_TYPE: ::flatbuffers::VOffsetT = 4;
pub const VT_PAYLOAD: ::flatbuffers::VOffsetT = 6;
#[inline]
pub unsafe fn init_from_table(table: ::flatbuffers::Table<'a>) -> Self {
RemoteClientMessage { _tab: table }
}
#[allow(unused_mut)]
pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: ::flatbuffers::Allocator + 'bldr>(
_fbb: &'mut_bldr mut ::flatbuffers::FlatBufferBuilder<'bldr, A>,
args: &'args RemoteClientMessageArgs
) -> ::flatbuffers::WIPOffset<RemoteClientMessage<'bldr>> {
let mut builder = RemoteClientMessageBuilder::new(_fbb);
if let Some(x) = args.payload { builder.add_payload(x); }
builder.add_payload_type(args.payload_type);
builder.finish()
}
#[inline]
pub fn payload_type(&self) -> RemoteClientPayload {
unsafe { self._tab.get::<RemoteClientPayload>(RemoteClientMessage::VT_PAYLOAD_TYPE, Some(RemoteClientPayload::NONE)).unwrap()}
}
#[inline]
pub fn payload(&self) -> Option<::flatbuffers::Table<'a>> {
unsafe { self._tab.get::<::flatbuffers::ForwardsUOffset<::flatbuffers::Table<'a>>>(RemoteClientMessage::VT_PAYLOAD, None)}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_channel_create_request(&self) -> Option<ChannelCreateRequest<'a>> {
if self.payload_type() == RemoteClientPayload::ChannelCreateRequest {
self.payload().map(|t| {
unsafe { ChannelCreateRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_channel_delete_request(&self) -> Option<ChannelDeleteRequest<'a>> {
if self.payload_type() == RemoteClientPayload::ChannelDeleteRequest {
self.payload().map(|t| {
unsafe { ChannelDeleteRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_subscribe_request(&self) -> Option<SubscribeRequest<'a>> {
if self.payload_type() == RemoteClientPayload::SubscribeRequest {
self.payload().map(|t| {
unsafe { SubscribeRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_publish_request(&self) -> Option<PublishRequest<'a>> {
if self.payload_type() == RemoteClientPayload::PublishRequest {
self.payload().map(|t| {
unsafe { PublishRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_process_start_request(&self) -> Option<ProcessStartRequest<'a>> {
if self.payload_type() == RemoteClientPayload::ProcessStartRequest {
self.payload().map(|t| {
unsafe { ProcessStartRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_process_stop_request(&self) -> Option<ProcessStopRequest<'a>> {
if self.payload_type() == RemoteClientPayload::ProcessStopRequest {
self.payload().map(|t| {
unsafe { ProcessStopRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_process_log_channel_request(&self) -> Option<ProcessLogChannelRequest<'a>> {
if self.payload_type() == RemoteClientPayload::ProcessLogChannelRequest {
self.payload().map(|t| {
unsafe { ProcessLogChannelRequest::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_channel_create_response(&self) -> Option<ChannelCreateResponse<'a>> {
if self.payload_type() == RemoteClientPayload::ChannelCreateResponse {
self.payload().map(|t| {
unsafe { ChannelCreateResponse::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_channel_read_response(&self) -> Option<ChannelReadResponse<'a>> {
if self.payload_type() == RemoteClientPayload::ChannelReadResponse {
self.payload().map(|t| {
unsafe { ChannelReadResponse::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_channel_write_response(&self) -> Option<ChannelWriteResponse<'a>> {
if self.payload_type() == RemoteClientPayload::ChannelWriteResponse {
self.payload().map(|t| {
unsafe { ChannelWriteResponse::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_process_start_response(&self) -> Option<ProcessStartResponse<'a>> {
if self.payload_type() == RemoteClientPayload::ProcessStartResponse {
self.payload().map(|t| {
unsafe { ProcessStartResponse::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_process_log_channel_response(&self) -> Option<ProcessLogChannelResponse<'a>> {
if self.payload_type() == RemoteClientPayload::ProcessLogChannelResponse {
self.payload().map(|t| {
unsafe { ProcessLogChannelResponse::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_ok_response(&self) -> Option<OkResponse<'a>> {
if self.payload_type() == RemoteClientPayload::OkResponse {
self.payload().map(|t| {
unsafe { OkResponse::init_from_table(t) }
})
} else {
None
}
}
#[inline]
#[allow(non_snake_case)]
pub fn payload_as_error_response(&self) -> Option<ErrorResponse<'a>> {
if self.payload_type() == RemoteClientPayload::ErrorResponse {
self.payload().map(|t| {
unsafe { ErrorResponse::init_from_table(t) }
})
} else {
None
}
}
}
impl ::flatbuffers::Verifiable for RemoteClientMessage<'_> {
#[inline]
fn run_verifier(
v: &mut ::flatbuffers::Verifier, pos: usize
) -> Result<(), ::flatbuffers::InvalidFlatbuffer> {
v.visit_table(pos)?
.visit_union::<RemoteClientPayload, _>("payload_type", Self::VT_PAYLOAD_TYPE, "payload", Self::VT_PAYLOAD, false, |key, v, pos| {
match key {
RemoteClientPayload::ChannelCreateRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ChannelCreateRequest>>("RemoteClientPayload::ChannelCreateRequest", pos),
RemoteClientPayload::ChannelDeleteRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ChannelDeleteRequest>>("RemoteClientPayload::ChannelDeleteRequest", pos),
RemoteClientPayload::SubscribeRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<SubscribeRequest>>("RemoteClientPayload::SubscribeRequest", pos),
RemoteClientPayload::PublishRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<PublishRequest>>("RemoteClientPayload::PublishRequest", pos),
RemoteClientPayload::ProcessStartRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ProcessStartRequest>>("RemoteClientPayload::ProcessStartRequest", pos),
RemoteClientPayload::ProcessStopRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ProcessStopRequest>>("RemoteClientPayload::ProcessStopRequest", pos),
RemoteClientPayload::ProcessLogChannelRequest => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ProcessLogChannelRequest>>("RemoteClientPayload::ProcessLogChannelRequest", pos),
RemoteClientPayload::ChannelCreateResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ChannelCreateResponse>>("RemoteClientPayload::ChannelCreateResponse", pos),
RemoteClientPayload::ChannelReadResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ChannelReadResponse>>("RemoteClientPayload::ChannelReadResponse", pos),
RemoteClientPayload::ChannelWriteResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ChannelWriteResponse>>("RemoteClientPayload::ChannelWriteResponse", pos),
RemoteClientPayload::ProcessStartResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ProcessStartResponse>>("RemoteClientPayload::ProcessStartResponse", pos),
RemoteClientPayload::ProcessLogChannelResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ProcessLogChannelResponse>>("RemoteClientPayload::ProcessLogChannelResponse", pos),
RemoteClientPayload::OkResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<OkResponse>>("RemoteClientPayload::OkResponse", pos),
RemoteClientPayload::ErrorResponse => v.verify_union_variant::<::flatbuffers::ForwardsUOffset<ErrorResponse>>("RemoteClientPayload::ErrorResponse", pos),
_ => Ok(()),
}
})?
.finish();
Ok(())
}
}
pub struct RemoteClientMessageArgs {
pub payload_type: RemoteClientPayload,
pub payload: Option<::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>>,
}
impl<'a> Default for RemoteClientMessageArgs {
#[inline]
fn default() -> Self {
RemoteClientMessageArgs {
payload_type: RemoteClientPayload::NONE,
payload: None,
}
}
}
pub struct RemoteClientMessageBuilder<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> {
fbb_: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
start_: ::flatbuffers::WIPOffset<::flatbuffers::TableUnfinishedWIPOffset>,
}
impl<'a: 'b, 'b, A: ::flatbuffers::Allocator + 'a> RemoteClientMessageBuilder<'a, 'b, A> {
#[inline]
pub fn add_payload_type(&mut self, payload_type: RemoteClientPayload) {
self.fbb_.push_slot::<RemoteClientPayload>(RemoteClientMessage::VT_PAYLOAD_TYPE, payload_type, RemoteClientPayload::NONE);
}
#[inline]
pub fn add_payload(&mut self, payload: ::flatbuffers::WIPOffset<::flatbuffers::UnionWIPOffset>) {
self.fbb_.push_slot_always::<::flatbuffers::WIPOffset<_>>(RemoteClientMessage::VT_PAYLOAD, payload);
}
#[inline]
pub fn new(_fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>) -> RemoteClientMessageBuilder<'a, 'b, A> {
let start = _fbb.start_table();
RemoteClientMessageBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> ::flatbuffers::WIPOffset<RemoteClientMessage<'a>> {
let o = self.fbb_.end_table(self.start_);
::flatbuffers::WIPOffset::new(o.value())
}
}
impl ::core::fmt::Debug for RemoteClientMessage<'_> {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
let mut ds = f.debug_struct("RemoteClientMessage");
ds.field("payload_type", &self.payload_type());
match self.payload_type() {
RemoteClientPayload::ChannelCreateRequest => {
if let Some(x) = self.payload_as_channel_create_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ChannelDeleteRequest => {
if let Some(x) = self.payload_as_channel_delete_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::SubscribeRequest => {
if let Some(x) = self.payload_as_subscribe_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::PublishRequest => {
if let Some(x) = self.payload_as_publish_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ProcessStartRequest => {
if let Some(x) = self.payload_as_process_start_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ProcessStopRequest => {
if let Some(x) = self.payload_as_process_stop_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ProcessLogChannelRequest => {
if let Some(x) = self.payload_as_process_log_channel_request() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ChannelCreateResponse => {
if let Some(x) = self.payload_as_channel_create_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ChannelReadResponse => {
if let Some(x) = self.payload_as_channel_read_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ChannelWriteResponse => {
if let Some(x) = self.payload_as_channel_write_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ProcessStartResponse => {
if let Some(x) = self.payload_as_process_start_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ProcessLogChannelResponse => {
if let Some(x) = self.payload_as_process_log_channel_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::OkResponse => {
if let Some(x) = self.payload_as_ok_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
RemoteClientPayload::ErrorResponse => {
if let Some(x) = self.payload_as_error_response() {
ds.field("payload", &x)
} else {
ds.field("payload", &"InvalidFlatbuffer: Union discriminant does not match value.")
}
},
_ => {
let x: Option<()> = None;
ds.field("payload", &x)
},
};
ds.finish()
}
}
#[inline]
pub fn root_as_remote_client_message(buf: &[u8]) -> Result<RemoteClientMessage<'_>, ::flatbuffers::InvalidFlatbuffer> {
::flatbuffers::root::<RemoteClientMessage>(buf)
}
#[inline]
pub fn size_prefixed_root_as_remote_client_message(buf: &[u8]) -> Result<RemoteClientMessage<'_>, ::flatbuffers::InvalidFlatbuffer> {
::flatbuffers::size_prefixed_root::<RemoteClientMessage>(buf)
}
#[inline]
pub fn root_as_remote_client_message_with_opts<'b, 'o>(
opts: &'o ::flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<RemoteClientMessage<'b>, ::flatbuffers::InvalidFlatbuffer> {
::flatbuffers::root_with_opts::<RemoteClientMessage<'b>>(opts, buf)
}
#[inline]
pub fn size_prefixed_root_as_remote_client_message_with_opts<'b, 'o>(
opts: &'o ::flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<RemoteClientMessage<'b>, ::flatbuffers::InvalidFlatbuffer> {
::flatbuffers::size_prefixed_root_with_opts::<RemoteClientMessage<'b>>(opts, buf)
}
#[inline]
pub unsafe fn root_as_remote_client_message_unchecked(buf: &[u8]) -> RemoteClientMessage<'_> {
unsafe { ::flatbuffers::root_unchecked::<RemoteClientMessage>(buf) }
}
#[inline]
pub unsafe fn size_prefixed_root_as_remote_client_message_unchecked(buf: &[u8]) -> RemoteClientMessage<'_> {
unsafe { ::flatbuffers::size_prefixed_root_unchecked::<RemoteClientMessage>(buf) }
}
pub const REMOTE_CLIENT_MESSAGE_IDENTIFIER: &str = "RMCL";
#[inline]
pub fn remote_client_message_buffer_has_identifier(buf: &[u8]) -> bool {
::flatbuffers::buffer_has_identifier(buf, REMOTE_CLIENT_MESSAGE_IDENTIFIER, false)
}
#[inline]
pub fn remote_client_message_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
::flatbuffers::buffer_has_identifier(buf, REMOTE_CLIENT_MESSAGE_IDENTIFIER, true)
}
#[inline]
pub fn finish_remote_client_message_buffer<'a, 'b, A: ::flatbuffers::Allocator + 'a>(
fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>,
root: ::flatbuffers::WIPOffset<RemoteClientMessage<'a>>) {
fbb.finish(root, Some(REMOTE_CLIENT_MESSAGE_IDENTIFIER));
}
#[inline]
pub fn finish_size_prefixed_remote_client_message_buffer<'a, 'b, A: ::flatbuffers::Allocator + 'a>(fbb: &'b mut ::flatbuffers::FlatBufferBuilder<'a, A>, root: ::flatbuffers::WIPOffset<RemoteClientMessage<'a>>) {
fbb.finish_size_prefixed(root, Some(REMOTE_CLIENT_MESSAGE_IDENTIFIER));
}