use core::mem;
use core::cmp::Ordering;
extern crate flatbuffers;
use self::flatbuffers::{EndianScalar, Follow};
pub enum LKSOffset {}
#[derive(Copy, Clone, PartialEq)]
pub struct LKS<'a> {
pub _tab: flatbuffers::Table<'a>,
}
impl<'a> flatbuffers::Follow<'a> for LKS<'a> {
type Inner = LKS<'a>;
#[inline]
unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
Self { _tab: flatbuffers::Table::new(buf, loc) }
}
}
impl<'a> LKS<'a> {
pub const VT_ID: flatbuffers::VOffsetT = 4;
pub const VT_ID_ON_ORBIT1: flatbuffers::VOffsetT = 6;
pub const VT_ID_ON_ORBIT2: flatbuffers::VOffsetT = 8;
pub const VT_LINK_START_TIME: flatbuffers::VOffsetT = 10;
pub const VT_LINK_STOP_TIME: flatbuffers::VOffsetT = 12;
pub const VT_CONSTELLATION: flatbuffers::VOffsetT = 14;
pub const VT_LINK_NAME: flatbuffers::VOffsetT = 16;
pub const VT_LINK_TYPE: flatbuffers::VOffsetT = 18;
pub const VT_BAND: flatbuffers::VOffsetT = 20;
pub const VT_ID_BEAM1: flatbuffers::VOffsetT = 22;
pub const VT_END_POINT1_NAME: flatbuffers::VOffsetT = 24;
pub const VT_END_POINT1_LAT: flatbuffers::VOffsetT = 26;
pub const VT_END_POINT1_LON: flatbuffers::VOffsetT = 28;
pub const VT_ID_BEAM2: flatbuffers::VOffsetT = 30;
pub const VT_END_POINT2_NAME: flatbuffers::VOffsetT = 32;
pub const VT_END_POINT2_LAT: flatbuffers::VOffsetT = 34;
pub const VT_END_POINT2_LON: flatbuffers::VOffsetT = 36;
pub const VT_DATA_RATE1_TO2: flatbuffers::VOffsetT = 38;
pub const VT_DATA_RATE2_TO1: flatbuffers::VOffsetT = 40;
pub const VT_LINK_STATE: flatbuffers::VOffsetT = 42;
pub const VT_SYS_CAP: flatbuffers::VOffsetT = 44;
pub const VT_OPS_CAP: flatbuffers::VOffsetT = 46;
pub const VT_SAT_NO1: flatbuffers::VOffsetT = 48;
pub const VT_SAT_NO2: flatbuffers::VOffsetT = 50;
#[inline]
pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
LKS { _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 LKSArgs<'args>
) -> flatbuffers::WIPOffset<LKS<'bldr>> {
let mut builder = LKSBuilder::new(_fbb);
builder.add_DATA_RATE2_TO1(args.DATA_RATE2_TO1);
builder.add_DATA_RATE1_TO2(args.DATA_RATE1_TO2);
builder.add_END_POINT2_LON(args.END_POINT2_LON);
builder.add_END_POINT2_LAT(args.END_POINT2_LAT);
builder.add_END_POINT1_LON(args.END_POINT1_LON);
builder.add_END_POINT1_LAT(args.END_POINT1_LAT);
builder.add_SAT_NO2(args.SAT_NO2);
builder.add_SAT_NO1(args.SAT_NO1);
if let Some(x) = args.OPS_CAP { builder.add_OPS_CAP(x); }
if let Some(x) = args.SYS_CAP { builder.add_SYS_CAP(x); }
if let Some(x) = args.LINK_STATE { builder.add_LINK_STATE(x); }
if let Some(x) = args.END_POINT2_NAME { builder.add_END_POINT2_NAME(x); }
if let Some(x) = args.ID_BEAM2 { builder.add_ID_BEAM2(x); }
if let Some(x) = args.END_POINT1_NAME { builder.add_END_POINT1_NAME(x); }
if let Some(x) = args.ID_BEAM1 { builder.add_ID_BEAM1(x); }
if let Some(x) = args.BAND { builder.add_BAND(x); }
if let Some(x) = args.LINK_TYPE { builder.add_LINK_TYPE(x); }
if let Some(x) = args.LINK_NAME { builder.add_LINK_NAME(x); }
if let Some(x) = args.CONSTELLATION { builder.add_CONSTELLATION(x); }
if let Some(x) = args.LINK_STOP_TIME { builder.add_LINK_STOP_TIME(x); }
if let Some(x) = args.LINK_START_TIME { builder.add_LINK_START_TIME(x); }
if let Some(x) = args.ID_ON_ORBIT2 { builder.add_ID_ON_ORBIT2(x); }
if let Some(x) = args.ID_ON_ORBIT1 { builder.add_ID_ON_ORBIT1(x); }
if let Some(x) = args.ID { builder.add_ID(x); }
builder.finish()
}
pub fn unpack(&self) -> LKST {
let ID = self.ID().map(|x| {
x.to_string()
});
let ID_ON_ORBIT1 = self.ID_ON_ORBIT1().map(|x| {
x.to_string()
});
let ID_ON_ORBIT2 = self.ID_ON_ORBIT2().map(|x| {
x.to_string()
});
let LINK_START_TIME = self.LINK_START_TIME().map(|x| {
x.to_string()
});
let LINK_STOP_TIME = self.LINK_STOP_TIME().map(|x| {
x.to_string()
});
let CONSTELLATION = self.CONSTELLATION().map(|x| {
x.to_string()
});
let LINK_NAME = self.LINK_NAME().map(|x| {
x.to_string()
});
let LINK_TYPE = self.LINK_TYPE().map(|x| {
x.to_string()
});
let BAND = self.BAND().map(|x| {
x.to_string()
});
let ID_BEAM1 = self.ID_BEAM1().map(|x| {
x.to_string()
});
let END_POINT1_NAME = self.END_POINT1_NAME().map(|x| {
x.to_string()
});
let END_POINT1_LAT = self.END_POINT1_LAT();
let END_POINT1_LON = self.END_POINT1_LON();
let ID_BEAM2 = self.ID_BEAM2().map(|x| {
x.to_string()
});
let END_POINT2_NAME = self.END_POINT2_NAME().map(|x| {
x.to_string()
});
let END_POINT2_LAT = self.END_POINT2_LAT();
let END_POINT2_LON = self.END_POINT2_LON();
let DATA_RATE1_TO2 = self.DATA_RATE1_TO2();
let DATA_RATE2_TO1 = self.DATA_RATE2_TO1();
let LINK_STATE = self.LINK_STATE().map(|x| {
x.to_string()
});
let SYS_CAP = self.SYS_CAP().map(|x| {
x.to_string()
});
let OPS_CAP = self.OPS_CAP().map(|x| {
x.to_string()
});
let SAT_NO1 = self.SAT_NO1();
let SAT_NO2 = self.SAT_NO2();
LKST {
ID,
ID_ON_ORBIT1,
ID_ON_ORBIT2,
LINK_START_TIME,
LINK_STOP_TIME,
CONSTELLATION,
LINK_NAME,
LINK_TYPE,
BAND,
ID_BEAM1,
END_POINT1_NAME,
END_POINT1_LAT,
END_POINT1_LON,
ID_BEAM2,
END_POINT2_NAME,
END_POINT2_LAT,
END_POINT2_LON,
DATA_RATE1_TO2,
DATA_RATE2_TO1,
LINK_STATE,
SYS_CAP,
OPS_CAP,
SAT_NO1,
SAT_NO2,
}
}
#[inline]
pub fn ID(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_ID, None)}
}
#[inline]
pub fn ID_ON_ORBIT1(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_ID_ON_ORBIT1, None)}
}
#[inline]
pub fn ID_ON_ORBIT2(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_ID_ON_ORBIT2, None)}
}
#[inline]
pub fn LINK_START_TIME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_LINK_START_TIME, None)}
}
#[inline]
pub fn LINK_STOP_TIME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_LINK_STOP_TIME, None)}
}
#[inline]
pub fn CONSTELLATION(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_CONSTELLATION, None)}
}
#[inline]
pub fn LINK_NAME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_LINK_NAME, None)}
}
#[inline]
pub fn LINK_TYPE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_LINK_TYPE, None)}
}
#[inline]
pub fn BAND(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_BAND, None)}
}
#[inline]
pub fn ID_BEAM1(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_ID_BEAM1, None)}
}
#[inline]
pub fn END_POINT1_NAME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_END_POINT1_NAME, None)}
}
#[inline]
pub fn END_POINT1_LAT(&self) -> f64 {
unsafe { self._tab.get::<f64>(LKS::VT_END_POINT1_LAT, Some(0.0)).unwrap()}
}
#[inline]
pub fn END_POINT1_LON(&self) -> f64 {
unsafe { self._tab.get::<f64>(LKS::VT_END_POINT1_LON, Some(0.0)).unwrap()}
}
#[inline]
pub fn ID_BEAM2(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_ID_BEAM2, None)}
}
#[inline]
pub fn END_POINT2_NAME(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_END_POINT2_NAME, None)}
}
#[inline]
pub fn END_POINT2_LAT(&self) -> f64 {
unsafe { self._tab.get::<f64>(LKS::VT_END_POINT2_LAT, Some(0.0)).unwrap()}
}
#[inline]
pub fn END_POINT2_LON(&self) -> f64 {
unsafe { self._tab.get::<f64>(LKS::VT_END_POINT2_LON, Some(0.0)).unwrap()}
}
#[inline]
pub fn DATA_RATE1_TO2(&self) -> f64 {
unsafe { self._tab.get::<f64>(LKS::VT_DATA_RATE1_TO2, Some(0.0)).unwrap()}
}
#[inline]
pub fn DATA_RATE2_TO1(&self) -> f64 {
unsafe { self._tab.get::<f64>(LKS::VT_DATA_RATE2_TO1, Some(0.0)).unwrap()}
}
#[inline]
pub fn LINK_STATE(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_LINK_STATE, None)}
}
#[inline]
pub fn SYS_CAP(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_SYS_CAP, None)}
}
#[inline]
pub fn OPS_CAP(&self) -> Option<&'a str> {
unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LKS::VT_OPS_CAP, None)}
}
#[inline]
pub fn SAT_NO1(&self) -> i32 {
unsafe { self._tab.get::<i32>(LKS::VT_SAT_NO1, Some(0)).unwrap()}
}
#[inline]
pub fn SAT_NO2(&self) -> i32 {
unsafe { self._tab.get::<i32>(LKS::VT_SAT_NO2, Some(0)).unwrap()}
}
}
impl flatbuffers::Verifiable for LKS<'_> {
#[inline]
fn run_verifier(
v: &mut flatbuffers::Verifier, pos: usize
) -> Result<(), flatbuffers::InvalidFlatbuffer> {
use self::flatbuffers::Verifiable;
v.visit_table(pos)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("ID", Self::VT_ID, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("ID_ON_ORBIT1", Self::VT_ID_ON_ORBIT1, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("ID_ON_ORBIT2", Self::VT_ID_ON_ORBIT2, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LINK_START_TIME", Self::VT_LINK_START_TIME, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LINK_STOP_TIME", Self::VT_LINK_STOP_TIME, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("CONSTELLATION", Self::VT_CONSTELLATION, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LINK_NAME", Self::VT_LINK_NAME, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LINK_TYPE", Self::VT_LINK_TYPE, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("BAND", Self::VT_BAND, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("ID_BEAM1", Self::VT_ID_BEAM1, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("END_POINT1_NAME", Self::VT_END_POINT1_NAME, false)?
.visit_field::<f64>("END_POINT1_LAT", Self::VT_END_POINT1_LAT, false)?
.visit_field::<f64>("END_POINT1_LON", Self::VT_END_POINT1_LON, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("ID_BEAM2", Self::VT_ID_BEAM2, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("END_POINT2_NAME", Self::VT_END_POINT2_NAME, false)?
.visit_field::<f64>("END_POINT2_LAT", Self::VT_END_POINT2_LAT, false)?
.visit_field::<f64>("END_POINT2_LON", Self::VT_END_POINT2_LON, false)?
.visit_field::<f64>("DATA_RATE1_TO2", Self::VT_DATA_RATE1_TO2, false)?
.visit_field::<f64>("DATA_RATE2_TO1", Self::VT_DATA_RATE2_TO1, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("LINK_STATE", Self::VT_LINK_STATE, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("SYS_CAP", Self::VT_SYS_CAP, false)?
.visit_field::<flatbuffers::ForwardsUOffset<&str>>("OPS_CAP", Self::VT_OPS_CAP, false)?
.visit_field::<i32>("SAT_NO1", Self::VT_SAT_NO1, false)?
.visit_field::<i32>("SAT_NO2", Self::VT_SAT_NO2, false)?
.finish();
Ok(())
}
}
pub struct LKSArgs<'a> {
pub ID: Option<flatbuffers::WIPOffset<&'a str>>,
pub ID_ON_ORBIT1: Option<flatbuffers::WIPOffset<&'a str>>,
pub ID_ON_ORBIT2: Option<flatbuffers::WIPOffset<&'a str>>,
pub LINK_START_TIME: Option<flatbuffers::WIPOffset<&'a str>>,
pub LINK_STOP_TIME: Option<flatbuffers::WIPOffset<&'a str>>,
pub CONSTELLATION: Option<flatbuffers::WIPOffset<&'a str>>,
pub LINK_NAME: Option<flatbuffers::WIPOffset<&'a str>>,
pub LINK_TYPE: Option<flatbuffers::WIPOffset<&'a str>>,
pub BAND: Option<flatbuffers::WIPOffset<&'a str>>,
pub ID_BEAM1: Option<flatbuffers::WIPOffset<&'a str>>,
pub END_POINT1_NAME: Option<flatbuffers::WIPOffset<&'a str>>,
pub END_POINT1_LAT: f64,
pub END_POINT1_LON: f64,
pub ID_BEAM2: Option<flatbuffers::WIPOffset<&'a str>>,
pub END_POINT2_NAME: Option<flatbuffers::WIPOffset<&'a str>>,
pub END_POINT2_LAT: f64,
pub END_POINT2_LON: f64,
pub DATA_RATE1_TO2: f64,
pub DATA_RATE2_TO1: f64,
pub LINK_STATE: Option<flatbuffers::WIPOffset<&'a str>>,
pub SYS_CAP: Option<flatbuffers::WIPOffset<&'a str>>,
pub OPS_CAP: Option<flatbuffers::WIPOffset<&'a str>>,
pub SAT_NO1: i32,
pub SAT_NO2: i32,
}
impl<'a> Default for LKSArgs<'a> {
#[inline]
fn default() -> Self {
LKSArgs {
ID: None,
ID_ON_ORBIT1: None,
ID_ON_ORBIT2: None,
LINK_START_TIME: None,
LINK_STOP_TIME: None,
CONSTELLATION: None,
LINK_NAME: None,
LINK_TYPE: None,
BAND: None,
ID_BEAM1: None,
END_POINT1_NAME: None,
END_POINT1_LAT: 0.0,
END_POINT1_LON: 0.0,
ID_BEAM2: None,
END_POINT2_NAME: None,
END_POINT2_LAT: 0.0,
END_POINT2_LON: 0.0,
DATA_RATE1_TO2: 0.0,
DATA_RATE2_TO1: 0.0,
LINK_STATE: None,
SYS_CAP: None,
OPS_CAP: None,
SAT_NO1: 0,
SAT_NO2: 0,
}
}
}
pub struct LKSBuilder<'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> LKSBuilder<'a, 'b, A> {
#[inline]
pub fn add_ID(&mut self, ID: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_ID, ID);
}
#[inline]
pub fn add_ID_ON_ORBIT1(&mut self, ID_ON_ORBIT1: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_ID_ON_ORBIT1, ID_ON_ORBIT1);
}
#[inline]
pub fn add_ID_ON_ORBIT2(&mut self, ID_ON_ORBIT2: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_ID_ON_ORBIT2, ID_ON_ORBIT2);
}
#[inline]
pub fn add_LINK_START_TIME(&mut self, LINK_START_TIME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_LINK_START_TIME, LINK_START_TIME);
}
#[inline]
pub fn add_LINK_STOP_TIME(&mut self, LINK_STOP_TIME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_LINK_STOP_TIME, LINK_STOP_TIME);
}
#[inline]
pub fn add_CONSTELLATION(&mut self, CONSTELLATION: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_CONSTELLATION, CONSTELLATION);
}
#[inline]
pub fn add_LINK_NAME(&mut self, LINK_NAME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_LINK_NAME, LINK_NAME);
}
#[inline]
pub fn add_LINK_TYPE(&mut self, LINK_TYPE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_LINK_TYPE, LINK_TYPE);
}
#[inline]
pub fn add_BAND(&mut self, BAND: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_BAND, BAND);
}
#[inline]
pub fn add_ID_BEAM1(&mut self, ID_BEAM1: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_ID_BEAM1, ID_BEAM1);
}
#[inline]
pub fn add_END_POINT1_NAME(&mut self, END_POINT1_NAME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_END_POINT1_NAME, END_POINT1_NAME);
}
#[inline]
pub fn add_END_POINT1_LAT(&mut self, END_POINT1_LAT: f64) {
self.fbb_.push_slot::<f64>(LKS::VT_END_POINT1_LAT, END_POINT1_LAT, 0.0);
}
#[inline]
pub fn add_END_POINT1_LON(&mut self, END_POINT1_LON: f64) {
self.fbb_.push_slot::<f64>(LKS::VT_END_POINT1_LON, END_POINT1_LON, 0.0);
}
#[inline]
pub fn add_ID_BEAM2(&mut self, ID_BEAM2: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_ID_BEAM2, ID_BEAM2);
}
#[inline]
pub fn add_END_POINT2_NAME(&mut self, END_POINT2_NAME: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_END_POINT2_NAME, END_POINT2_NAME);
}
#[inline]
pub fn add_END_POINT2_LAT(&mut self, END_POINT2_LAT: f64) {
self.fbb_.push_slot::<f64>(LKS::VT_END_POINT2_LAT, END_POINT2_LAT, 0.0);
}
#[inline]
pub fn add_END_POINT2_LON(&mut self, END_POINT2_LON: f64) {
self.fbb_.push_slot::<f64>(LKS::VT_END_POINT2_LON, END_POINT2_LON, 0.0);
}
#[inline]
pub fn add_DATA_RATE1_TO2(&mut self, DATA_RATE1_TO2: f64) {
self.fbb_.push_slot::<f64>(LKS::VT_DATA_RATE1_TO2, DATA_RATE1_TO2, 0.0);
}
#[inline]
pub fn add_DATA_RATE2_TO1(&mut self, DATA_RATE2_TO1: f64) {
self.fbb_.push_slot::<f64>(LKS::VT_DATA_RATE2_TO1, DATA_RATE2_TO1, 0.0);
}
#[inline]
pub fn add_LINK_STATE(&mut self, LINK_STATE: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_LINK_STATE, LINK_STATE);
}
#[inline]
pub fn add_SYS_CAP(&mut self, SYS_CAP: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_SYS_CAP, SYS_CAP);
}
#[inline]
pub fn add_OPS_CAP(&mut self, OPS_CAP: flatbuffers::WIPOffset<&'b str>) {
self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LKS::VT_OPS_CAP, OPS_CAP);
}
#[inline]
pub fn add_SAT_NO1(&mut self, SAT_NO1: i32) {
self.fbb_.push_slot::<i32>(LKS::VT_SAT_NO1, SAT_NO1, 0);
}
#[inline]
pub fn add_SAT_NO2(&mut self, SAT_NO2: i32) {
self.fbb_.push_slot::<i32>(LKS::VT_SAT_NO2, SAT_NO2, 0);
}
#[inline]
pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LKSBuilder<'a, 'b, A> {
let start = _fbb.start_table();
LKSBuilder {
fbb_: _fbb,
start_: start,
}
}
#[inline]
pub fn finish(self) -> flatbuffers::WIPOffset<LKS<'a>> {
let o = self.fbb_.end_table(self.start_);
flatbuffers::WIPOffset::new(o.value())
}
}
impl core::fmt::Debug for LKS<'_> {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
let mut ds = f.debug_struct("LKS");
ds.field("ID", &self.ID());
ds.field("ID_ON_ORBIT1", &self.ID_ON_ORBIT1());
ds.field("ID_ON_ORBIT2", &self.ID_ON_ORBIT2());
ds.field("LINK_START_TIME", &self.LINK_START_TIME());
ds.field("LINK_STOP_TIME", &self.LINK_STOP_TIME());
ds.field("CONSTELLATION", &self.CONSTELLATION());
ds.field("LINK_NAME", &self.LINK_NAME());
ds.field("LINK_TYPE", &self.LINK_TYPE());
ds.field("BAND", &self.BAND());
ds.field("ID_BEAM1", &self.ID_BEAM1());
ds.field("END_POINT1_NAME", &self.END_POINT1_NAME());
ds.field("END_POINT1_LAT", &self.END_POINT1_LAT());
ds.field("END_POINT1_LON", &self.END_POINT1_LON());
ds.field("ID_BEAM2", &self.ID_BEAM2());
ds.field("END_POINT2_NAME", &self.END_POINT2_NAME());
ds.field("END_POINT2_LAT", &self.END_POINT2_LAT());
ds.field("END_POINT2_LON", &self.END_POINT2_LON());
ds.field("DATA_RATE1_TO2", &self.DATA_RATE1_TO2());
ds.field("DATA_RATE2_TO1", &self.DATA_RATE2_TO1());
ds.field("LINK_STATE", &self.LINK_STATE());
ds.field("SYS_CAP", &self.SYS_CAP());
ds.field("OPS_CAP", &self.OPS_CAP());
ds.field("SAT_NO1", &self.SAT_NO1());
ds.field("SAT_NO2", &self.SAT_NO2());
ds.finish()
}
}
#[non_exhaustive]
#[derive(Debug, Clone, PartialEq)]
pub struct LKST {
pub ID: Option<String>,
pub ID_ON_ORBIT1: Option<String>,
pub ID_ON_ORBIT2: Option<String>,
pub LINK_START_TIME: Option<String>,
pub LINK_STOP_TIME: Option<String>,
pub CONSTELLATION: Option<String>,
pub LINK_NAME: Option<String>,
pub LINK_TYPE: Option<String>,
pub BAND: Option<String>,
pub ID_BEAM1: Option<String>,
pub END_POINT1_NAME: Option<String>,
pub END_POINT1_LAT: f64,
pub END_POINT1_LON: f64,
pub ID_BEAM2: Option<String>,
pub END_POINT2_NAME: Option<String>,
pub END_POINT2_LAT: f64,
pub END_POINT2_LON: f64,
pub DATA_RATE1_TO2: f64,
pub DATA_RATE2_TO1: f64,
pub LINK_STATE: Option<String>,
pub SYS_CAP: Option<String>,
pub OPS_CAP: Option<String>,
pub SAT_NO1: i32,
pub SAT_NO2: i32,
}
impl Default for LKST {
fn default() -> Self {
Self {
ID: None,
ID_ON_ORBIT1: None,
ID_ON_ORBIT2: None,
LINK_START_TIME: None,
LINK_STOP_TIME: None,
CONSTELLATION: None,
LINK_NAME: None,
LINK_TYPE: None,
BAND: None,
ID_BEAM1: None,
END_POINT1_NAME: None,
END_POINT1_LAT: 0.0,
END_POINT1_LON: 0.0,
ID_BEAM2: None,
END_POINT2_NAME: None,
END_POINT2_LAT: 0.0,
END_POINT2_LON: 0.0,
DATA_RATE1_TO2: 0.0,
DATA_RATE2_TO1: 0.0,
LINK_STATE: None,
SYS_CAP: None,
OPS_CAP: None,
SAT_NO1: 0,
SAT_NO2: 0,
}
}
}
impl LKST {
pub fn pack<'b, A: flatbuffers::Allocator + 'b>(
&self,
_fbb: &mut flatbuffers::FlatBufferBuilder<'b, A>
) -> flatbuffers::WIPOffset<LKS<'b>> {
let ID = self.ID.as_ref().map(|x|{
_fbb.create_string(x)
});
let ID_ON_ORBIT1 = self.ID_ON_ORBIT1.as_ref().map(|x|{
_fbb.create_string(x)
});
let ID_ON_ORBIT2 = self.ID_ON_ORBIT2.as_ref().map(|x|{
_fbb.create_string(x)
});
let LINK_START_TIME = self.LINK_START_TIME.as_ref().map(|x|{
_fbb.create_string(x)
});
let LINK_STOP_TIME = self.LINK_STOP_TIME.as_ref().map(|x|{
_fbb.create_string(x)
});
let CONSTELLATION = self.CONSTELLATION.as_ref().map(|x|{
_fbb.create_string(x)
});
let LINK_NAME = self.LINK_NAME.as_ref().map(|x|{
_fbb.create_string(x)
});
let LINK_TYPE = self.LINK_TYPE.as_ref().map(|x|{
_fbb.create_string(x)
});
let BAND = self.BAND.as_ref().map(|x|{
_fbb.create_string(x)
});
let ID_BEAM1 = self.ID_BEAM1.as_ref().map(|x|{
_fbb.create_string(x)
});
let END_POINT1_NAME = self.END_POINT1_NAME.as_ref().map(|x|{
_fbb.create_string(x)
});
let END_POINT1_LAT = self.END_POINT1_LAT;
let END_POINT1_LON = self.END_POINT1_LON;
let ID_BEAM2 = self.ID_BEAM2.as_ref().map(|x|{
_fbb.create_string(x)
});
let END_POINT2_NAME = self.END_POINT2_NAME.as_ref().map(|x|{
_fbb.create_string(x)
});
let END_POINT2_LAT = self.END_POINT2_LAT;
let END_POINT2_LON = self.END_POINT2_LON;
let DATA_RATE1_TO2 = self.DATA_RATE1_TO2;
let DATA_RATE2_TO1 = self.DATA_RATE2_TO1;
let LINK_STATE = self.LINK_STATE.as_ref().map(|x|{
_fbb.create_string(x)
});
let SYS_CAP = self.SYS_CAP.as_ref().map(|x|{
_fbb.create_string(x)
});
let OPS_CAP = self.OPS_CAP.as_ref().map(|x|{
_fbb.create_string(x)
});
let SAT_NO1 = self.SAT_NO1;
let SAT_NO2 = self.SAT_NO2;
LKS::create(_fbb, &LKSArgs{
ID,
ID_ON_ORBIT1,
ID_ON_ORBIT2,
LINK_START_TIME,
LINK_STOP_TIME,
CONSTELLATION,
LINK_NAME,
LINK_TYPE,
BAND,
ID_BEAM1,
END_POINT1_NAME,
END_POINT1_LAT,
END_POINT1_LON,
ID_BEAM2,
END_POINT2_NAME,
END_POINT2_LAT,
END_POINT2_LON,
DATA_RATE1_TO2,
DATA_RATE2_TO1,
LINK_STATE,
SYS_CAP,
OPS_CAP,
SAT_NO1,
SAT_NO2,
})
}
}
#[inline]
pub fn root_as_LKS(buf: &[u8]) -> Result<LKS, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root::<LKS>(buf)
}
#[inline]
pub fn size_prefixed_root_as_LKS(buf: &[u8]) -> Result<LKS, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root::<LKS>(buf)
}
#[inline]
pub fn root_as_LKS_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<LKS<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::root_with_opts::<LKS<'b>>(opts, buf)
}
#[inline]
pub fn size_prefixed_root_as_LKS_with_opts<'b, 'o>(
opts: &'o flatbuffers::VerifierOptions,
buf: &'b [u8],
) -> Result<LKS<'b>, flatbuffers::InvalidFlatbuffer> {
flatbuffers::size_prefixed_root_with_opts::<LKS<'b>>(opts, buf)
}
#[inline]
pub unsafe fn root_as_LKS_unchecked(buf: &[u8]) -> LKS {
flatbuffers::root_unchecked::<LKS>(buf)
}
#[inline]
pub unsafe fn size_prefixed_root_as_LKS_unchecked(buf: &[u8]) -> LKS {
flatbuffers::size_prefixed_root_unchecked::<LKS>(buf)
}
pub const LKS_IDENTIFIER: &str = "$LKS";
#[inline]
pub fn LKS_buffer_has_identifier(buf: &[u8]) -> bool {
flatbuffers::buffer_has_identifier(buf, LKS_IDENTIFIER, false)
}
#[inline]
pub fn LKS_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
flatbuffers::buffer_has_identifier(buf, LKS_IDENTIFIER, true)
}
#[inline]
pub fn finish_LKS_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(
fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
root: flatbuffers::WIPOffset<LKS<'a>>) {
fbb.finish(root, Some(LKS_IDENTIFIER));
}
#[inline]
pub fn finish_size_prefixed_LKS_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<LKS<'a>>) {
fbb.finish_size_prefixed(root, Some(LKS_IDENTIFIER));
}