#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use crate::proto::mavlink_messages_v1 as proto;
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct EnumEntryMavCmdFlags {
has_location: Option<bool>,
is_destination: Option<bool>,
mission_only: Option<bool>,
}
impl EnumEntryMavCmdFlags {
pub fn new(
has_location: Option<bool>,
is_destination: Option<bool>,
mission_only: Option<bool>,
) -> Self {
Self {
has_location,
is_destination,
mission_only,
}
}
pub fn to_proto(&self) -> proto::EnumEntryMavCmdFlags {
proto::EnumEntryMavCmdFlags {
has_location: self.has_location,
is_destination: self.is_destination,
mission_only: self.mission_only,
}
}
pub fn from_proto(proto: proto::EnumEntryMavCmdFlags) -> Self {
Self {
has_location: proto.has_location,
is_destination: proto.is_destination,
mission_only: proto.mission_only,
}
}
pub fn has_location(&self) -> &Option<bool> {
&self.has_location
}
pub fn is_destination(&self) -> &Option<bool> {
&self.is_destination
}
pub fn mission_only(&self) -> &Option<bool> {
&self.mission_only
}
}