use ftswarm_proto::command::argument::Argument;
use ftswarm_proto::command::direct::FtSwarmDirectCommand;
use ftswarm_proto::command::enums::ActorType::Compressor;
use ftswarm_proto::command::enums::MotionType::On;
use ftswarm_proto::command::enums::SensorType::Digital;
use ftswarm_proto::command::FtSwarmCommand;
use ftswarm_proto::command::rpc::{FtSwarmRPCCommand, RpcFunction};
use ftswarm_proto::Serialized;
fn main() {
let direct_command = FtSwarmCommand::Direct(FtSwarmDirectCommand::Whoami);
let rpc_command = FtSwarmCommand::RPC(FtSwarmRPCCommand {
target: "test".to_string(),
function: RpcFunction::GetFahrenheit,
args: vec![
Argument::Int(32),
Argument::Float(32.0),
Argument::SensorType(Digital),
Argument::ActorType(Compressor),
Argument::MotionType(On)
],
});
println!("Direct command: {:?}", direct_command.serialize());
println!("RPC command: {:?}", rpc_command.serialize());
}