Support triggering multiple actions
This commit is contained in:
		
							parent
							
								
									d4a0a1e992
								
							
						
					
					
						commit
						14e9860697
					
				@ -27,6 +27,13 @@ impl fmt::Display for Action {
 | 
			
		||||
#[derive(Deserialize, StaticType, Debug)]
 | 
			
		||||
pub struct Actions(Vec<Action>);
 | 
			
		||||
 | 
			
		||||
impl Actions {
 | 
			
		||||
    // Return the iterator over the inner Vec of Actions
 | 
			
		||||
    pub fn iter(&self) -> std::slice::Iter<Action> {
 | 
			
		||||
        self.0.iter()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl fmt::Display for Actions {
 | 
			
		||||
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
 | 
			
		||||
        write!(f, "Actions(count={})", self.0.len())
 | 
			
		||||
 | 
			
		||||
@ -90,7 +90,8 @@ impl<'a> State<'a> {
 | 
			
		||||
 | 
			
		||||
    fn execute_mapping(&mut self, mapping: &Mapping) {
 | 
			
		||||
        match mapping {
 | 
			
		||||
            Mapping::Trigger(t) => self.execute_action(t),
 | 
			
		||||
            Mapping::Trigger(act) => self.execute_action(act),
 | 
			
		||||
            Mapping::TriggerMulti(acts) => acts.iter().map(|a| self.execute_action(a)).collect(),
 | 
			
		||||
            _ => event!(Level::WARN, %mapping, "Ignoring unimplemented mapping"),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user