use core::mem;
use core::cmp::Ordering;
extern crate flatbuffers;
use self::flatbuffers::{EndianScalar, Follow};
pub enum OONOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct OON<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for OON<'a> {
type Inner = OON<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: flatbuffers::Table::new(buf, loc) }
}
}
impl<'a> OON<'a> {
pub const VT_SAT_NO: flatbuffers::VOffsetT = 4;
pub const VT_COMMON_NAME: flatbuffers::VOffsetT = 6;
pub const VT_CONSTELLATION: flatbuffers::VOffsetT = 8;
pub const VT_INTL_DES: flatbuffers::VOffsetT = 10;
pub const VT_LAUNCH_DATE: flatbuffers::VOffsetT = 12;
pub const VT_DECAY_DATE: flatbuffers::VOffsetT = 14;
pub const VT_OBJECT_TYPE: flatbuffers::VOffsetT = 16;
pub const VT_MISSION_NUMBER: flatbuffers::VOffsetT = 18;
pub const VT_CATEGORY: flatbuffers::VOffsetT = 20;
pub const VT_LIFETIME_YEARS: flatbuffers::VOffsetT = 22;
pub const VT_ALT_NAME: flatbuffers::VOffsetT = 24;
pub const VT_LAUNCH_SITE_ID: flatbuffers::VOffsetT = 26;
pub const VT_ANTENNAS: flatbuffers::VOffsetT = 28;
pub const VT_BATTERIES: flatbuffers::VOffsetT = 30;
pub const VT_SOLAR_ARRAYS: flatbuffers::VOffsetT = 32;
pub const VT_THRUSTERS: flatbuffers::VOffsetT = 34;
pub const VT_ONORBIT_DETAILS: flatbuffers::VOffsetT = 36;
pub const VT_COUNTRY_CODE: flatbuffers::VOffsetT = 38;
pub const VT_ENTITY_COLLECTION: flatbuffers::VOffsetT = 40;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
OON { _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 OONArgs<'args>
) -> flatbuffers::WIPOffset<OON<'bldr>> {
let mut builder = OONBuilder::new(_fbb);
if let Some(x) = args.ENTITY_COLLECTION { builder.add_ENTITY_COLLECTION(x); }
if let Some(x) = args.COUNTRY_CODE { builder.add_COUNTRY_CODE(x); }
if let Some(x) = args.ONORBIT_DETAILS { builder.add_ONORBIT_DETAILS(x); }
if let Some(x) = args.THRUSTERS { builder.add_THRUSTERS(x); }
if let Some(x) = args.SOLAR_ARRAYS { builder.add_SOLAR_ARRAYS(x); }
if let Some(x) = args.BATTERIES { builder.add_BATTERIES(x); }
if let Some(x) = args.ANTENNAS { builder.add_ANTENNAS(x); }
if let Some(x) = args.LAUNCH_SITE_ID { builder.add_LAUNCH_SITE_ID(x); }
if let Some(x) = args.ALT_NAME { builder.add_ALT_NAME(x); }
builder.add_LIFETIME_YEARS(args.LIFETIME_YEARS);
if let Some(x) = args.CATEGORY { builder.add_CATEGORY(x); }
if let Some(x) = args.MISSION_NUMBER { builder.add_MISSION_NUMBER(x); }
if let Some(x) = args.OBJECT_TYPE { builder.add_OBJECT_TYPE(x); }
if let Some(x) = args.DECAY_DATE { builder.add_DECAY_DATE(x); }
if let Some(x) = args.LAUNCH_DATE { builder.add_LAUNCH_DATE(x); }
if let Some(x) = args.INTL_DES { builder.add_INTL_DES(x); }
if let Some(x) = args.CONSTELLATION { builder.add_CONSTELLATION(x); }
if let Some(x) = args.COMMON_NAME { builder.add_COMMON_NAME(x); }
builder.add_SAT_NO(args.SAT_NO);
builder.finish()
}
pub fn unpack(&self) -> OONT {
let SAT_NO = self.SAT_NO();
let COMMON_NAME = self.COMMON_NAME().map(|x| {
x.to_string()
});
let CONSTELLATION = self.CONSTELLATION().map(|x| {
x.to_string()
});
let INTL_DES = self.INTL_DES().map(|x| {
x.to_string()
});
let LAUNCH_DATE = self.LAUNCH_DATE().map(|x| {
x.to_string()
});
let DECAY_DATE = self.DECAY_DATE().map(|x| {
x.to_string()
});
let OBJECT_TYPE = self.OBJECT_TYPE().map(|x| {
x.to_string()
});
let MISSION_NUMBER = self.MISSION_NUMBER().map(|x| {
x.to_string()
});
let CATEGORY = self.CATEGORY().map(|x| {
x.to_string()
});
let LIFETIME_YEARS = self.LIFETIME_YEARS();
let ALT_NAME = self.ALT_NAME().map(|x| {
x.to_string()
});
let LAUNCH_SITE_ID = self.LAUNCH_SITE_ID().map(|x| {
x.to_string()
});
let ANTENNAS = self.ANTENNAS().map(|x| {
x.iter().map(|s| s.to_string()).collect()
});
let BATTERIES = self.BATTERIES().map(|x| {
x.iter().map(|s| s.to_string()).collect()
});
let SOLAR_ARRAYS = self.SOLAR_ARRAYS().map(|x| {
x.iter().map(|s| s.to_string()).collect()
});
let THRUSTERS = self.THRUSTERS().map(|x| {
x.iter().map(|s| s.to_string()).collect()
});
let ONORBIT_DETAILS = self.ONORBIT_DETAILS().map(|x| {
x.iter().map(|s| s.to_string()).collect()
});
let COUNTRY_CODE = self.COUNTRY_CODE().map(|x| {
x.to_string()
});
let ENTITY_COLLECTION = self.ENTITY_COLLECTION().map(|x| {
x.iter().map(|s| s.to_string()).collect()
});
OONT {
SAT_NO,
COMMON_NAME,
CONSTELLATION,
INTL_DES,
LAUNCH_DATE,
DECAY_DATE,
OBJECT_TYPE,
MISSION_NUMBER,
CATEGORY,
LIFETIME_YEARS,
ALT_NAME,
LAUNCH_SITE_ID,
ANTENNAS,
BATTERIES,
SOLAR_ARRAYS,
THRUSTERS,
ONORBIT_DETAILS,
COUNTRY_CODE,
ENTITY_COLLECTION,
}
}
#[inline]
pub fn SAT_NO(&self) -> i32 {
unsafe { self._tab.get::<i32>(OON::VT_SAT_NO, Some(0)).unwrap()}
}
#[inline]
pub fn COMMON_NAME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_COMMON_NAME, None)}
}
#[inline]
pub fn CONSTELLATION(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_CONSTELLATION, None)}
}
#[inline]
pub fn INTL_DES(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_INTL_DES, None)}
}
#[inline]
pub fn LAUNCH_DATE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_LAUNCH_DATE, None)}
}
#[inline]
pub fn DECAY_DATE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_DECAY_DATE, None)}
}
#[inline]
pub fn OBJECT_TYPE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_OBJECT_TYPE, None)}
}
#[inline]
pub fn MISSION_NUMBER(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_MISSION_NUMBER, None)}
}
#[inline]
pub fn CATEGORY(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_CATEGORY, None)}
}
#[inline]
pub fn LIFETIME_YEARS(&self) -> i32 {
unsafe { self._tab.get::<i32>(OON::VT_LIFETIME_YEARS, Some(0)).unwrap()}
}
#[inline]
pub fn ALT_NAME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_ALT_NAME, None)}
}
#[inline]
pub fn LAUNCH_SITE_ID(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_LAUNCH_SITE_ID, None)}
}
#[inline]
pub fn ANTENNAS(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(OON::VT_ANTENNAS, None)}
}
#[inline]
pub fn BATTERIES(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(OON::VT_BATTERIES, None)}
}
#[inline]
pub fn SOLAR_ARRAYS(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(OON::VT_SOLAR_ARRAYS, None)}
}
#[inline]
pub fn THRUSTERS(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(OON::VT_THRUSTERS, None)}
}
#[inline]
pub fn ONORBIT_DETAILS(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(OON::VT_ONORBIT_DETAILS, None)}
}
#[inline]
pub fn COUNTRY_CODE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OON::VT_COUNTRY_CODE, None)}
}
#[inline]
pub fn ENTITY_COLLECTION(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(OON::VT_ENTITY_COLLECTION, None)}
}
}
impl flatbuffers::Verifiable for OON<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<i32>("SAT_NO", Self::VT_SAT_NO, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("COMMON_NAME", Self::VT_COMMON_NAME, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("CONSTELLATION", Self::VT_CONSTELLATION, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("INTL_DES", Self::VT_INTL_DES, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LAUNCH_DATE", Self::VT_LAUNCH_DATE, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("DECAY_DATE", Self::VT_DECAY_DATE, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("OBJECT_TYPE", Self::VT_OBJECT_TYPE, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("MISSION_NUMBER", Self::VT_MISSION_NUMBER, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("CATEGORY", Self::VT_CATEGORY, false)?
.visit_field::<i32>("LIFETIME_YEARS", Self::VT_LIFETIME_YEARS, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("ALT_NAME", Self::VT_ALT_NAME, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LAUNCH_SITE_ID", Self::VT_LAUNCH_SITE_ID, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("ANTENNAS", Self::VT_ANTENNAS, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("BATTERIES", Self::VT_BATTERIES, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("SOLAR_ARRAYS", Self::VT_SOLAR_ARRAYS, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("THRUSTERS", Self::VT_THRUSTERS, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("ONORBIT_DETAILS", Self::VT_ONORBIT_DETAILS, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("COUNTRY_CODE", Self::VT_COUNTRY_CODE, false)?
.visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("ENTITY_COLLECTION", Self::VT_ENTITY_COLLECTION, false)?
.finish();
Ok(())
}
}
pub struct OONArgs<'a> {
pub SAT_NO: i32,
pub COMMON_NAME: Option<flatbuffers::WIPOffset<&'a str>>,
pub CONSTELLATION: Option<flatbuffers::WIPOffset<&'a str>>,
pub INTL_DES: Option<flatbuffers::WIPOffset<&'a str>>,
pub LAUNCH_DATE: Option<flatbuffers::WIPOffset<&'a str>>,
pub DECAY_DATE: Option<flatbuffers::WIPOffset<&'a str>>,
pub OBJECT_TYPE: Option<flatbuffers::WIPOffset<&'a str>>,
pub MISSION_NUMBER: Option<flatbuffers::WIPOffset<&'a str>>,
pub CATEGORY: Option<flatbuffers::WIPOffset<&'a str>>,
pub LIFETIME_YEARS: i32,
pub ALT_NAME: Option<flatbuffers::WIPOffset<&'a str>>,
pub LAUNCH_SITE_ID: Option<flatbuffers::WIPOffset<&'a str>>,
pub ANTENNAS: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
pub BATTERIES: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
pub SOLAR_ARRAYS: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
pub THRUSTERS: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
pub ONORBIT_DETAILS: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
pub COUNTRY_CODE: Option<flatbuffers::WIPOffset<&'a str>>,
pub ENTITY_COLLECTION: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
}
impl<'a> Default for OONArgs<'a> {
#[inline]
fn default() -> Self {
OONArgs {
SAT_NO: 0,
COMMON_NAME: None,
CONSTELLATION: None,
INTL_DES: None,
LAUNCH_DATE: None,
DECAY_DATE: None,
OBJECT_TYPE: None,
MISSION_NUMBER: None,
CATEGORY: None,
LIFETIME_YEARS: 0,
ALT_NAME: None,
LAUNCH_SITE_ID: None,
ANTENNAS: None,
BATTERIES: None,
SOLAR_ARRAYS: None,
THRUSTERS: None,
ONORBIT_DETAILS: None,
COUNTRY_CODE: None,
ENTITY_COLLECTION: None,
}
}
}
pub struct OONBuilder<'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> OONBuilder<'a, 'b, A> {
#[inline]
pub fn add_SAT_NO(&mut self, SAT_NO: i32) {
self.fbb_.push_slot::<i32>(OON::VT_SAT_NO, SAT_NO, 0);
}
#[inline]
pub fn add_COMMON_NAME(&mut self, COMMON_NAME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_COMMON_NAME, COMMON_NAME);
}
#[inline]
pub fn add_CONSTELLATION(&mut self, CONSTELLATION: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_CONSTELLATION, CONSTELLATION);
}
#[inline]
pub fn add_INTL_DES(&mut self, INTL_DES: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_INTL_DES, INTL_DES);
}
#[inline]
pub fn add_LAUNCH_DATE(&mut self, LAUNCH_DATE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_LAUNCH_DATE, LAUNCH_DATE);
}
#[inline]
pub fn add_DECAY_DATE(&mut self, DECAY_DATE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_DECAY_DATE, DECAY_DATE);
}
#[inline]
pub fn add_OBJECT_TYPE(&mut self, OBJECT_TYPE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_OBJECT_TYPE, OBJECT_TYPE);
}
#[inline]
pub fn add_MISSION_NUMBER(&mut self, MISSION_NUMBER: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_MISSION_NUMBER, MISSION_NUMBER);
}
#[inline]
pub fn add_CATEGORY(&mut self, CATEGORY: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_CATEGORY, CATEGORY);
}
#[inline]
pub fn add_LIFETIME_YEARS(&mut self, LIFETIME_YEARS: i32) {
self.fbb_.push_slot::<i32>(OON::VT_LIFETIME_YEARS, LIFETIME_YEARS, 0);
}
#[inline]
pub fn add_ALT_NAME(&mut self, ALT_NAME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_ALT_NAME, ALT_NAME);
}
#[inline]
pub fn add_LAUNCH_SITE_ID(&mut self, LAUNCH_SITE_ID: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_LAUNCH_SITE_ID, LAUNCH_SITE_ID);
}
#[inline]
pub fn add_ANTENNAS(&mut self, ANTENNAS: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_ANTENNAS, ANTENNAS);
}
#[inline]
pub fn add_BATTERIES(&mut self, BATTERIES: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_BATTERIES, BATTERIES);
}
#[inline]
pub fn add_SOLAR_ARRAYS(&mut self, SOLAR_ARRAYS: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_SOLAR_ARRAYS, SOLAR_ARRAYS);
}
#[inline]
pub fn add_THRUSTERS(&mut self, THRUSTERS: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_THRUSTERS, THRUSTERS);
}
#[inline]
pub fn add_ONORBIT_DETAILS(&mut self, ONORBIT_DETAILS: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_ONORBIT_DETAILS, ONORBIT_DETAILS);
}
#[inline]
pub fn add_COUNTRY_CODE(&mut self, COUNTRY_CODE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_COUNTRY_CODE, COUNTRY_CODE);
}
#[inline]
pub fn add_ENTITY_COLLECTION(&mut self, ENTITY_COLLECTION: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OON::VT_ENTITY_COLLECTION, ENTITY_COLLECTION);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> OONBuilder<'a, 'b, A> {
let start = _fbb.start_table();
OONBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<OON<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for OON<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("OON");
ds.field("SAT_NO", &self.SAT_NO());
ds.field("COMMON_NAME", &self.COMMON_NAME());
ds.field("CONSTELLATION", &self.CONSTELLATION());
ds.field("INTL_DES", &self.INTL_DES());
ds.field("LAUNCH_DATE", &self.LAUNCH_DATE());
ds.field("DECAY_DATE", &self.DECAY_DATE());
ds.field("OBJECT_TYPE", &self.OBJECT_TYPE());
ds.field("MISSION_NUMBER", &self.MISSION_NUMBER());
ds.field("CATEGORY", &self.CATEGORY());
ds.field("LIFETIME_YEARS", &self.LIFETIME_YEARS());
ds.field("ALT_NAME", &self.ALT_NAME());
ds.field("LAUNCH_SITE_ID", &self.LAUNCH_SITE_ID());
ds.field("ANTENNAS", &self.ANTENNAS());
ds.field("BATTERIES", &self.BATTERIES());
ds.field("SOLAR_ARRAYS", &self.SOLAR_ARRAYS());
ds.field("THRUSTERS", &self.THRUSTERS());
ds.field("ONORBIT_DETAILS", &self.ONORBIT_DETAILS());
ds.field("COUNTRY_CODE", &self.COUNTRY_CODE());
ds.field("ENTITY_COLLECTION", &self.ENTITY_COLLECTION());
ds.finish()
}
}
#[non_exhaustive]
#[derive(Debug, Clone, PartialEq)]
pub struct OONT {
pub SAT_NO: i32,
pub COMMON_NAME: Option<String>,
pub CONSTELLATION: Option<String>,
pub INTL_DES: Option<String>,
pub LAUNCH_DATE: Option<String>,
pub DECAY_DATE: Option<String>,
pub OBJECT_TYPE: Option<String>,
pub MISSION_NUMBER: Option<String>,
pub CATEGORY: Option<String>,
pub LIFETIME_YEARS: i32,
pub ALT_NAME: Option<String>,
pub LAUNCH_SITE_ID: Option<String>,
pub ANTENNAS: Option<Vec<String>>,
pub BATTERIES: Option<Vec<String>>,
pub SOLAR_ARRAYS: Option<Vec<String>>,
pub THRUSTERS: Option<Vec<String>>,
pub ONORBIT_DETAILS: Option<Vec<String>>,
pub COUNTRY_CODE: Option<String>,
pub ENTITY_COLLECTION: Option<Vec<String>>,
}
impl Default for OONT {
fn default() -> Self {
Self {
SAT_NO: 0,
COMMON_NAME: None,
CONSTELLATION: None,
INTL_DES: None,
LAUNCH_DATE: None,
DECAY_DATE: None,
OBJECT_TYPE: None,
MISSION_NUMBER: None,
CATEGORY: None,
LIFETIME_YEARS: 0,
ALT_NAME: None,
LAUNCH_SITE_ID: None,
ANTENNAS: None,
BATTERIES: None,
SOLAR_ARRAYS: None,
THRUSTERS: None,
ONORBIT_DETAILS: None,
COUNTRY_CODE: None,
ENTITY_COLLECTION: None,
}
}
}
impl OONT {
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
&self,
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
) -> flatbuffers::WIPOffset<OON<'b>> {
let SAT_NO = self.SAT_NO;
let COMMON_NAME = self.COMMON_NAME.as_ref().map(|x|{
_fbb.create_string(x)
});
let CONSTELLATION = self.CONSTELLATION.as_ref().map(|x|{
_fbb.create_string(x)
});
let INTL_DES = self.INTL_DES.as_ref().map(|x|{
_fbb.create_string(x)
});
let LAUNCH_DATE = self.LAUNCH_DATE.as_ref().map(|x|{
_fbb.create_string(x)
});
let DECAY_DATE = self.DECAY_DATE.as_ref().map(|x|{
_fbb.create_string(x)
});
let OBJECT_TYPE = self.OBJECT_TYPE.as_ref().map(|x|{
_fbb.create_string(x)
});
let MISSION_NUMBER = self.MISSION_NUMBER.as_ref().map(|x|{
_fbb.create_string(x)
});
let CATEGORY = self.CATEGORY.as_ref().map(|x|{
_fbb.create_string(x)
});
let LIFETIME_YEARS = self.LIFETIME_YEARS;
let ALT_NAME = self.ALT_NAME.as_ref().map(|x|{
_fbb.create_string(x)
});
let LAUNCH_SITE_ID = self.LAUNCH_SITE_ID.as_ref().map(|x|{
_fbb.create_string(x)
});
let ANTENNAS = self.ANTENNAS.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|s| _fbb.create_string(s)).collect();_fbb.create_vector(&w)
});
let BATTERIES = self.BATTERIES.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|s| _fbb.create_string(s)).collect();_fbb.create_vector(&w)
});
let SOLAR_ARRAYS = self.SOLAR_ARRAYS.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|s| _fbb.create_string(s)).collect();_fbb.create_vector(&w)
});
let THRUSTERS = self.THRUSTERS.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|s| _fbb.create_string(s)).collect();_fbb.create_vector(&w)
});
let ONORBIT_DETAILS = self.ONORBIT_DETAILS.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|s| _fbb.create_string(s)).collect();_fbb.create_vector(&w)
});
let COUNTRY_CODE = self.COUNTRY_CODE.as_ref().map(|x|{
_fbb.create_string(x)
});
let ENTITY_COLLECTION = self.ENTITY_COLLECTION.as_ref().map(|x|{
let w: Vec<_> = x.iter().map(|s| _fbb.create_string(s)).collect();_fbb.create_vector(&w)
});
OON::create(_fbb, &OONArgs{
SAT_NO,
COMMON_NAME,
CONSTELLATION,
INTL_DES,
LAUNCH_DATE,
DECAY_DATE,
OBJECT_TYPE,
MISSION_NUMBER,
CATEGORY,
LIFETIME_YEARS,
ALT_NAME,
LAUNCH_SITE_ID,
ANTENNAS,
BATTERIES,
SOLAR_ARRAYS,
THRUSTERS,
ONORBIT_DETAILS,
COUNTRY_CODE,
ENTITY_COLLECTION,
})
}
}
#[inline]
pub fn root_as_OON(buf: &[u8]) -> Result<OON, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root::<OON>(buf)
}
#[inline]
pub fn size_prefixed_root_as_OON(buf: &[u8]) -> Result<OON, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root::<OON>(buf)
}
#[inline]
pub fn root_as_OON_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<OON<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root_with_opts::<OON<'b>>(opts, buf)
}
#[inline]
pub fn size_prefixed_root_as_OON_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<OON<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root_with_opts::<OON<'b>>(opts, buf)
}
#[inline]
pub unsafe fn root_as_OON_unchecked(buf: &[u8]) -> OON {
flatbuffers::root_unchecked::<OON>(buf)
}
#[inline]
pub unsafe fn size_prefixed_root_as_OON_unchecked(buf: &[u8]) -> OON {
flatbuffers::size_prefixed_root_unchecked::<OON>(buf)
}
pub const OON_IDENTIFIER: &str = "$OON";
#[inline]
pub fn OON_buffer_has_identifier(buf: &[u8]) -> bool {
flatbuffers::buffer_has_identifier(buf, OON_IDENTIFIER, false)
}
#[inline]
pub fn OON_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
flatbuffers::buffer_has_identifier(buf, OON_IDENTIFIER, true)
}
#[inline]
pub fn finish_OON_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(
fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
root: flatbuffers::WIPOffset<OON<'a>>) {
fbb.finish(root, Some(OON_IDENTIFIER));
}
#[inline]
pub fn finish_size_prefixed_OON_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<OON<'a>>) {
fbb.finish_size_prefixed(root, Some(OON_IDENTIFIER));
}