#[macro_export]
macro_rules! scope_get_double {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_DOUBLE))?;
$client.read_double_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_int {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_INTEGER))?;
$client.read_int_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_string {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_STRING))?;
$client.read_string_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_string_list {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_STRINGLIST))?;
$client.read_string_list_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_double_list {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_DOUBLELIST))?;
$client.read_f64_list_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_pos {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::POSITION_2D))?;
$client.read_pos_2d_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_pos3d {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::POSITION_3D))?;
$client.read_pos_3d_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_color {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_COLOR))?;
$client.read_color_from_input()
}};
}
#[macro_export]
macro_rules! scope_get_polygon {
($client:expr, $cmd_get:expr, $var:expr, $id:expr) => {{
let mut add: Option<&$crate::storage::Storage> = None;
$client.create_command($cmd_get, $var, $id, add.take());
$client.process_get($cmd_get, Some($crate::constants::TYPE_POLYGON))?;
$client.read_polygon_from_input()
}};
}
#[macro_export]
macro_rules! scope_set_double {
($client:expr, $cmd_set:expr, $var:expr, $id:expr, $val:expr) => {{
let mut add = $crate::storage::Storage::new();
add.write_u8($crate::constants::TYPE_DOUBLE);
add.write_f64($val);
$client.create_command($cmd_set, $var, $id, Some(&add));
$client.process_set($cmd_set)
}};
}
#[macro_export]
macro_rules! scope_set_int {
($client:expr, $cmd_set:expr, $var:expr, $id:expr, $val:expr) => {{
let mut add = $crate::storage::Storage::new();
add.write_u8($crate::constants::TYPE_INTEGER);
add.write_i32($val);
$client.create_command($cmd_set, $var, $id, Some(&add));
$client.process_set($cmd_set)
}};
}
#[macro_export]
macro_rules! scope_set_string {
($client:expr, $cmd_set:expr, $var:expr, $id:expr, $val:expr) => {{
let mut add = $crate::storage::Storage::new();
add.write_u8($crate::constants::TYPE_STRING);
add.write_string($val);
$client.create_command($cmd_set, $var, $id, Some(&add));
$client.process_set($cmd_set)
}};
}
#[macro_export]
macro_rules! scope_set_string_list {
($client:expr, $cmd_set:expr, $var:expr, $id:expr, $val:expr) => {{
let mut add = $crate::storage::Storage::new();
add.write_u8($crate::constants::TYPE_STRINGLIST);
add.write_string_list($val);
$client.create_command($cmd_set, $var, $id, Some(&add));
$client.process_set($cmd_set)
}};
}
#[macro_export]
macro_rules! impl_scope_accessors {
() => {
pub fn get_all_subscription_results(
&self,
) -> &$crate::types::SubscriptionResults {
&self.subscription_results
}
pub fn get_subscription_results(
&self,
obj_id: &str,
) -> Option<&$crate::types::TraciResults> {
self.subscription_results.get(obj_id)
}
pub fn get_all_context_subscription_results(
&self,
) -> &$crate::types::ContextSubscriptionResults {
&self.context_subscription_results
}
pub fn get_context_subscription_results(
&self,
obj_id: &str,
) -> Option<&$crate::types::SubscriptionResults> {
self.context_subscription_results.get(obj_id)
}
};
}