1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
pub use crate::usp_record::mod_Record::PayloadSecurity;
use std::collections::HashMap;
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum OperateResponse {
OutputArgs(HashMap<String, String>),
CommandFailure(u32, String),
}
impl Default for OperateResponse {
fn default() -> Self {
Self::OutputArgs(HashMap::new())
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum NotifyType {
/// USP OnBoardRequest notification
OnBoardRequest {
/// The OUI associated with the manufacturer of the device
oui: String,
/// The product class associated with the device
product_class: String,
/// The serial number of the device
serial_number: String,
/// A comma separated list of supported USP versions
agent_supported_protocol_versions: String,
},
/// USP ValueChange notification
ValueChange {
/// The path of the changed parameter
param_path: String,
/// The new value of the changed parameter
param_value: String,
},
/// USP Event notification
Event {
/// The path of the event
obj_path: String,
/// The name of the event
event_name: String,
/// A stringified JSON object containing the output arguments of the USP Event
params: HashMap<String, String>,
},
/// USP ObjectCreation notification
ObjectCreation {
/// The path of the created object
obj_path: String,
/// A stringified JSON object containing the unique_keys and values of the created Object
unique_keys: HashMap<String, String>,
},
/// USP ObjectDeletion notification
ObjectDeletion {
/// The path of the deleted object
obj_path: String,
},
/// USP OperationComplete notification
OperationComplete {
/// The path of the operation object
obj_path: String,
/// The name of the operated command
command_name: String,
/// The command key associated with the operation
command_key: String,
/// The result of the operation
operation_resp: OperateResponse,
},
}
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum PayloadSARState {
/// No segmentation
NONE = 0,
/// Begin segmentation
BEGIN = 1,
/// Segmentation in process
INPROCESS = 2,
/// Segmentation is complete
COMPLETE = 3,
}
impl From<PayloadSARState> for crate::usp_record::mod_SessionContextRecord::PayloadSARState {
fn from(s: PayloadSARState) -> Self {
use crate::usp_record::mod_SessionContextRecord::PayloadSARState as PBPayloadSARState;
match s {
PayloadSARState::NONE => PBPayloadSARState::NONE,
PayloadSARState::BEGIN => PBPayloadSARState::BEGIN,
PayloadSARState::INPROCESS => PBPayloadSARState::INPROCESS,
PayloadSARState::COMPLETE => PBPayloadSARState::COMPLETE,
}
}
}