Added downcast stuff to object write string

This commit is contained in:
Kyle Kiteveles 2023-08-15 14:50:08 -04:00
parent 3560c37235
commit 224a1f40a3
6 changed files with 87 additions and 15 deletions

View file

@ -2,6 +2,9 @@ use crate::datatypes;
use super::{Object, ObjectSpecies, RawObject}; use super::{Object, ObjectSpecies, RawObject};
use derive_getters::Getters; use derive_getters::Getters;
use derive_builder::Builder; use derive_builder::Builder;
use downcast_rs::Downcast
pub trait FmCO2:Downcast{}
#[derive(Clone,Debug)] #[derive(Clone,Debug)]
pub enum FmCO2Species{ pub enum FmCO2Species{
@ -12,6 +15,7 @@ pub enum FmCO2Species{
} }
impl ObjectSpecies for FmCO2Species{} impl ObjectSpecies for FmCO2Species{}
impl FmCO2 for CCO2DData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CCO2DData{ pub struct CCO2DData{
status:Status, status:Status,
@ -34,7 +38,7 @@ pub struct CCO2DData{
apneaindex_20_29:OBJECT::CNumDStd, apneaindex_20_29:OBJECT::CNumDStd,
apneaindex_30:OBJECT::CNumDStd, apneaindex_30:OBJECT::CNumDStd,
desatcount:OBJECT::CNumDStd, desatcount:OBJECT::CNumDStd,
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
#[getter(skip)] #[getter(skip)]
raw_object:RawObject, raw_object:RawObject,
} }
@ -100,6 +104,7 @@ impl Object for CCO2DData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmCO2 for CCO2CCal{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CCO2CCal{ pub struct CCO2CCal{
status:Status, status:Status,
@ -144,6 +149,7 @@ impl Object for CCO2CCal{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmCO2 for CCO2CStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CCO2CStd{ pub struct CCO2CStd{
displayunits:DisplayUnits, displayunits:DisplayUnits,
@ -168,6 +174,7 @@ impl Object for CCO2CStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmCO2 for CCO2PMsgArg{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CCO2PMsgArg{ pub struct CCO2PMsgArg{
ioparametera:uint16, ioparametera:uint16,

View file

@ -2,6 +2,9 @@ use crate::datatypes;
use super::{Object, ObjectSpecies, RawObject}; use super::{Object, ObjectSpecies, RawObject};
use derive_getters::Getters; use derive_getters::Getters;
use derive_builder::Builder; use derive_builder::Builder;
use downcast_rs::Downcast
pub trait FmECG:Downcast{}
#[derive(Clone,Debug)] #[derive(Clone,Debug)]
pub enum FmECGSpecies{ pub enum FmECGSpecies{
@ -18,6 +21,7 @@ pub enum FmECGSpecies{
} }
impl ObjectSpecies for FmECGSpecies{} impl ObjectSpecies for FmECGSpecies{}
impl FmECG for CECGDPacer{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGDPacer{ pub struct CECGDPacer{
cwavesamplepacer:OBJECT::CWaveSampleCRPDetect, cwavesamplepacer:OBJECT::CWaveSampleCRPDetect,
@ -37,6 +41,7 @@ impl Object for CECGDPacer{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGDGlobalMeas{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGDGlobalMeas{ pub struct CECGDGlobalMeas{
pduration:uint32, pduration:uint32,
@ -68,6 +73,7 @@ impl Object for CECGDGlobalMeas{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGDLeadMeas{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGDLeadMeas{ pub struct CECGDLeadMeas{
leadidentifier:LeadIdentifier, leadidentifier:LeadIdentifier,
@ -140,6 +146,7 @@ impl Object for CECGDLeadMeas{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGDStatus{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGDStatus{ pub struct CECGDStatus{
electrodeoffstatus:ElectrodeOffStatus, electrodeoffstatus:ElectrodeOffStatus,
@ -194,6 +201,7 @@ impl Object for CECGDStatus{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGCRhythmReport{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGCRhythmReport{ pub struct CECGCRhythmReport{
leadarrangement:LeadArrangement, leadarrangement:LeadArrangement,
@ -230,6 +238,7 @@ impl Object for CECGCRhythmReport{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGCAutoReport{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGCAutoReport{ pub struct CECGCAutoReport{
extmeasurements:boolean, extmeasurements:boolean,
@ -405,6 +414,7 @@ impl Object for CECGCAutoReport{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGCMiscellaneous{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGCMiscellaneous{ pub struct CECGCMiscellaneous{
leadconfig:LeadConfig, leadconfig:LeadConfig,
@ -554,6 +564,7 @@ impl Object for CECGCMiscellaneous{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGCSettings{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGCSettings{ pub struct CECGCSettings{
activeleads:ActiveLeads, activeleads:ActiveLeads,
@ -613,6 +624,7 @@ impl Object for CECGCSettings{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmECG for CECGPSelector{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CECGPSelector{ pub struct CECGPSelector{
speciesselector:uint32, speciesselector:uint32,

View file

@ -2,6 +2,9 @@ use crate::datatypes;
use super::{Object, ObjectSpecies, RawObject}; use super::{Object, ObjectSpecies, RawObject};
use derive_getters::Getters; use derive_getters::Getters;
use derive_builder::Builder; use derive_builder::Builder;
use downcast_rs::Downcast
pub trait FmNIBP:Downcast{}
#[derive(Clone,Debug)] #[derive(Clone,Debug)]
pub enum FmNIBPSpecies{ pub enum FmNIBPSpecies{
@ -21,9 +24,10 @@ pub enum FmNIBPSpecies{
} }
impl ObjectSpecies for FmNIBPSpecies{} impl ObjectSpecies for FmNIBPSpecies{}
impl FmNIBP for CNIBPDStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDStd{ pub struct CNIBPDStd{
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
status:Status, status:Status,
systolic:int16, systolic:int16,
diastolic:int16, diastolic:int16,
@ -100,6 +104,7 @@ impl Object for CNIBPDStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDData{ pub struct CNIBPDData{
status:Status, status:Status,
@ -142,6 +147,7 @@ impl Object for CNIBPDData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDChunk{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDChunk{ pub struct CNIBPDChunk{
tag:int8, tag:int8,
@ -162,6 +168,7 @@ impl Object for CNIBPDChunk{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDHState{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDHState{ pub struct CNIBPDHState{
hardware:hardware, hardware:hardware,
@ -188,6 +195,7 @@ impl Object for CNIBPDHState{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDLock{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDLock{ pub struct CNIBPDLock{
lock:lock, lock:lock,
@ -217,6 +225,7 @@ impl Object for CNIBPDLock{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDRData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDRData{ pub struct CNIBPDRData{
raw5v:uint32, raw5v:uint32,
@ -243,6 +252,7 @@ impl Object for CNIBPDRData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDPData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDPData{ pub struct CNIBPDPData{
primpress:int16, primpress:int16,
@ -265,6 +275,7 @@ impl Object for CNIBPDPData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDStatus{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDStatus{ pub struct CNIBPDStatus{
modulestate:moduleState, modulestate:moduleState,
@ -323,11 +334,12 @@ impl Object for CNIBPDStatus{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDDataModified{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDDataModified{ pub struct CNIBPDDataModified{
nibpdata:OBJECT::CNIBPDData, nibpdata:OBJECT::CNIBPDData,
status:Status, status:Status,
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
mode:Mode, mode:Mode,
patientposition:PatientPosition, patientposition:PatientPosition,
cuffsize:CuffSize, cuffsize:CuffSize,
@ -438,6 +450,7 @@ impl Object for CNIBPDDataModified{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPCStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPCStd{ pub struct CNIBPCStd{
displayunits:DisplayUnits, displayunits:DisplayUnits,
@ -470,6 +483,7 @@ impl Object for CNIBPCStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPCData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPCData{ pub struct CNIBPCData{
dfltadulttargpress:int16, dfltadulttargpress:int16,
@ -504,11 +518,12 @@ impl Object for CNIBPCData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPCCal{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPCCal{ pub struct CNIBPCCal{
caltype:calType, caltype:calType,
calsignature:int32, calsignature:int32,
caldatetime:chrono::NativeDateTime, caldatetime:chrono::NaiveDateTime,
modconfig:int16, modconfig:int16,
spancorr:int16, spancorr:int16,
zerocorr:int16, zerocorr:int16,
@ -536,6 +551,7 @@ impl Object for CNIBPCCal{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPPData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPPData{ pub struct CNIBPPData{
targpress:int16, targpress:int16,
@ -584,6 +600,7 @@ impl Object for CNIBPPData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPPSelector{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPPSelector{ pub struct CNIBPPSelector{
value:uint32, value:uint32,
@ -601,6 +618,7 @@ impl Object for CNIBPPSelector{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPPChunkSelector{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPPChunkSelector{ pub struct CNIBPPChunkSelector{
chunk:uint32, chunk:uint32,
@ -619,6 +637,7 @@ impl Object for CNIBPPChunkSelector{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmNIBP for CNIBPDExtStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CNIBPDExtStd{ pub struct CNIBPDExtStd{
container:OBJECT::ANY_CLASS, container:OBJECT::ANY_CLASS,

View file

@ -2,6 +2,9 @@ use crate::datatypes;
use super::{Object, ObjectSpecies, RawObject}; use super::{Object, ObjectSpecies, RawObject};
use derive_getters::Getters; use derive_getters::Getters;
use derive_builder::Builder; use derive_builder::Builder;
use downcast_rs::Downcast
pub trait FmSPO2:Downcast{}
#[derive(Clone,Debug)] #[derive(Clone,Debug)]
pub enum FmSPO2Species{ pub enum FmSPO2Species{
@ -12,9 +15,10 @@ pub enum FmSPO2Species{
} }
impl ObjectSpecies for FmSPO2Species{} impl ObjectSpecies for FmSPO2Species{}
impl FmSPO2 for CSpO2DStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSpO2DStd{ pub struct CSpO2DStd{
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
status:Status, status:Status,
sat:uint16, sat:uint16,
hr:uint16, hr:uint16,
@ -93,9 +97,10 @@ impl Object for CSpO2DStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmSPO2 for CSpO2DData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSpO2DData{ pub struct CSpO2DData{
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
extstatus:ExtStatus, extstatus:ExtStatus,
source:Source, source:Source,
sat:OBJECT::CNumDStd, sat:OBJECT::CNumDStd,
@ -186,6 +191,7 @@ impl Object for CSpO2DData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmSPO2 for CSpO2DDataModified{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSpO2DDataModified{ pub struct CSpO2DDataModified{
spo2data:OBJECT::CSpO2DData, spo2data:OBJECT::CSpO2DData,
@ -237,6 +243,7 @@ impl Object for CSpO2DDataModified{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmSPO2 for CSpO2CStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSpO2CStd{ pub struct CSpO2CStd{
enabled:boolean, enabled:boolean,
@ -272,6 +279,7 @@ impl Object for CSpO2CStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmSPO2 for CSpO2CData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSpO2CData{ pub struct CSpO2CData{
satexponent:int8, satexponent:int8,
@ -347,6 +355,7 @@ impl Object for CSpO2CData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmSPO2 for CSpO2PSelector{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSpO2PSelector{ pub struct CSpO2PSelector{
value:uint32, value:uint32,

View file

@ -2,6 +2,9 @@ use crate::datatypes;
use super::{Object, ObjectSpecies, RawObject}; use super::{Object, ObjectSpecies, RawObject};
use derive_getters::Getters; use derive_getters::Getters;
use derive_builder::Builder; use derive_builder::Builder;
use downcast_rs::Downcast
pub trait FmTEMP:Downcast{}
#[derive(Clone,Debug)] #[derive(Clone,Debug)]
pub enum FmTEMPSpecies{ pub enum FmTEMPSpecies{
@ -22,9 +25,10 @@ pub enum FmTEMPSpecies{
} }
impl ObjectSpecies for FmTEMPSpecies{} impl ObjectSpecies for FmTEMPSpecies{}
impl FmTEMP for CTempDStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CTempDStd{ pub struct CTempDStd{
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
status:Status, status:Status,
extstatus:ExtStatus, extstatus:ExtStatus,
source:Source, source:Source,
@ -125,9 +129,10 @@ impl Object for CTempDStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CTempDData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CTempDData{ pub struct CTempDData{
stime:chrono::NativeDateTime, stime:chrono::NaiveDateTime,
status:Status, status:Status,
extstatus:ExtStatus, extstatus:ExtStatus,
source:Source, source:Source,
@ -228,6 +233,7 @@ impl Object for CTempDData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPTempDEng{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPTempDEng{ pub struct CSTPTempDEng{
temp:float, temp:float,
@ -350,6 +356,7 @@ impl Object for CSTPTempDEng{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPDProbe{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPDProbe{ pub struct CSTPDProbe{
probetype:probeType, probetype:probeType,
@ -359,7 +366,7 @@ pub struct CSTPDProbe{
probearrayloc:int16, probearrayloc:int16,
testpassfailcode:int16, testpassfailcode:int16,
calsignature:int32, calsignature:int32,
caldatetime:chrono::NativeDateTime, caldatetime:chrono::NaiveDateTime,
heatergain:float, heatergain:float,
heatertimedelay:float, heatertimedelay:float,
responses:float, responses:float,
@ -396,6 +403,7 @@ impl Object for CSTPDProbe{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPDHState{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPDHState{ pub struct CSTPDHState{
hardware:hardware, hardware:hardware,
@ -422,6 +430,7 @@ impl Object for CSTPDHState{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPDLock{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPDLock{ pub struct CSTPDLock{
lock:lock, lock:lock,
@ -447,6 +456,7 @@ impl Object for CSTPDLock{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPDRData{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPDRData{ pub struct CSTPDRData{
thermistor:uint32, thermistor:uint32,
@ -467,6 +477,7 @@ impl Object for CSTPDRData{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPDStat{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPDStat{ pub struct CSTPDStat{
state:state, state:state,
@ -591,6 +602,7 @@ impl Object for CSTPDStat{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPDSample{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPDSample{ pub struct CSTPDSample{
channel:uint8, channel:uint8,
@ -614,6 +626,7 @@ impl Object for CSTPDSample{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CTempDTouch{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CTempDTouch{ pub struct CTempDTouch{
ele0:uint16, ele0:uint16,
@ -646,6 +659,7 @@ impl Object for CTempDTouch{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CTempDTherm{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CTempDTherm{ pub struct CTempDTherm{
ambient:float, ambient:float,
@ -684,6 +698,7 @@ impl Object for CTempDTherm{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CTempCStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CTempCStd{ pub struct CTempCStd{
enabled:boolean, enabled:boolean,
@ -734,6 +749,7 @@ impl Object for CTempCStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPCStd{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPCStd{ pub struct CSTPCStd{
clinicalpause:uint16, clinicalpause:uint16,
@ -770,10 +786,11 @@ impl Object for CSTPCStd{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPCCal{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPCCal{ pub struct CSTPCCal{
signature:uint32, signature:uint32,
datetime:chrono::NativeDateTime, datetime:chrono::NaiveDateTime,
modconfig:float, modconfig:float,
yp0:float, yp0:float,
rp0:float, rp0:float,
@ -794,6 +811,7 @@ impl Object for CSTPCCal{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CTempPMsgArg{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CTempPMsgArg{ pub struct CTempPMsgArg{
ioparametera:uint32, ioparametera:uint32,
@ -812,6 +830,7 @@ impl Object for CTempPMsgArg{
fn get_raw_object(&self) -> RawObject { self.raw_object.clone() } fn get_raw_object(&self) -> RawObject { self.raw_object.clone() }
} }
impl FmTEMP for CSTPPSelector{}
#[derive(Getters,Builder,Clone,Debug)] #[derive(Getters,Builder,Clone,Debug)]
pub struct CSTPPSelector{ pub struct CSTPPSelector{
value:uint32, value:uint32,

View file

@ -209,9 +209,11 @@ fn output_gen(family: oop::Family, output_path: String) -> (String, String){
match output_path.as_str() { match output_path.as_str() {
o if o.contains("objects") => { o if o.contains("objects") => {
write_string = format!( write_string = format!(
"{}{}{}", "{}{}{}{}{}",
"use crate::datatypes;\nuse super::{Object, ObjectSpecies, RawObject};\nuse derive_getters::Getters;\nuse derive_builder::Builder;\n\n#[derive(Clone,Debug)]\npub enum ", "use crate::datatypes;\nuse super::{Object, ObjectSpecies, RawObject};\nuse derive_getters::Getters;\nuse derive_builder::Builder;\nuse downcast_rs::Downcast\n\npub trait ",
family.get_name().as_str(), family.get_name(),
":Downcast{}\n\n#[derive(Clone,Debug)]\npub enum ",
family.get_name(),
"Species{\n" "Species{\n"
); );
for species_name in family.list_species() { for species_name in family.list_species() {
@ -236,9 +238,13 @@ fn output_gen(family: oop::Family, output_path: String) -> (String, String){
for species in genus.get_species() { for species in genus.get_species() {
for object in species.get_objects() { for object in species.get_objects() {
write_string = format!( write_string = format!(
"{}{}{}{}", "{}{}{}{}{}{}{}{}",
write_string, write_string,
"#[derive(Getters,Builder,Clone,Debug)]\npub struct ", "impl ",
family.get_name(),
" for ",
object.get_name(),
"{}\n#[derive(Getters,Builder,Clone,Debug)]\npub struct ",
object.get_name(), object.get_name(),
"{\n" "{\n"
); );