pub struct EventSource { /* private fields */ }Expand description
Event source.
Reference to the official documentation:
https://www.virtualbox.org/sdkref/interface_i_event_source.html
Implementations§
Source§impl EventSource
impl EventSource
Sourcepub fn create_listener(&self) -> Result<EventListener, VboxError>
pub fn create_listener(&self) -> Result<EventListener, VboxError>
Creates a new listener object, useful for passive mode.
§Returns
Returns a new instance of the EventListener class on success, or a VboxError on failure.
§Example
use virtualbox_rs::{Session, VirtualBox};
let vbox = VirtualBox::init().unwrap();
let event_source = vbox.get_event_source().unwrap();
let listener = event_source.create_listener().unwrap();Sourcepub fn create_aggregator(
&self,
sources: Vec<&EventSource>,
) -> Result<EventSource, VboxError>
pub fn create_aggregator( &self, sources: Vec<&EventSource>, ) -> Result<EventSource, VboxError>
Creates a new listener object, useful for passive mode.
§Arguments
sources- Subordinate event source this one aggregates.
§Returns
Returns a new instance of the EventSource class on success, or a VboxError on failure.
§Example
use virtualbox_rs::{Session, VirtualBox};
let vbox = VirtualBox::init().unwrap();
let event_source1 = vbox.get_event_source().unwrap();
let event_source2 = vbox.get_event_source().unwrap();
let event_source3 = vbox.get_event_source().unwrap();
let event_source = event_source1.create_aggregator(vec![&event_source2, &event_source3]);Sourcepub fn register_listener(
&self,
event_listener: &EventListener,
event_types: Vec<VBoxEventType>,
active: bool,
) -> Result<(), VboxError>
pub fn register_listener( &self, event_listener: &EventListener, event_types: Vec<VBoxEventType>, active: bool, ) -> Result<(), VboxError>
Creates a new listener object, useful for passive mode.
§Arguments
event_listener-EventListenerto register.event_types- Event types listener is interested in. One can use wildcards like -VBoxEventType::Anyto specify wildcards, matching more than one event.active- Which mode this listener is operating in.
§Returns
Returns Ok(()) on success, or a VboxError on failure.
§Example
use virtualbox_rs::{Session, VirtualBox};
use virtualbox_rs::enums::VBoxEventType;
let vbox = VirtualBox::init().unwrap();
let event_source = vbox.get_event_source().unwrap();
let listener = event_source.create_listener().unwrap();
event_source.register_listener(&listener, vec![VBoxEventType::Any], false).unwrap()Sourcepub fn unregister_listener(
&self,
event_listener: &EventListener,
) -> Result<(), VboxError>
pub fn unregister_listener( &self, event_listener: &EventListener, ) -> Result<(), VboxError>
Creates a new listener object, useful for passive mode.
§Arguments
event_listener-EventListenerto unregister.
§Returns
Returns Ok(()) on success, or a VboxError on failure.
§Example
use virtualbox_rs::{Session, VirtualBox};
use virtualbox_rs::enums::VBoxEventType;
let vbox = VirtualBox::init().unwrap();
let event_source = vbox.get_event_source().unwrap();
let listener = event_source.create_listener().unwrap();
event_source.register_listener(&listener, vec![VBoxEventType::Any], false).unwrap();
event_source.unregister_listener(&listener).unwrap();Sourcepub fn get_event(
&self,
event_listener: &EventListener,
timeout: i32,
) -> Result<Event, VboxError>
pub fn get_event( &self, event_listener: &EventListener, timeout: i32, ) -> Result<Event, VboxError>
Creates a new listener object, useful for passive mode.
§Arguments
event_listener-EventListenerto unregister.
§Returns
Returns Ok(()) on success, or a VboxError on failure.
§Example
use virtualbox_rs::{Session, VirtualBox};
let vbox = VirtualBox::init().unwrap();
let event_source = vbox.get_event_source().unwrap();
let listener = event_source.create_listener().unwrap();
let event = event_source.get_event(&listener, 20).unwrap();Sourcepub fn event_processed(
&self,
event_listener: &EventListener,
event: &Event,
) -> Result<(), VboxError>
pub fn event_processed( &self, event_listener: &EventListener, event: &Event, ) -> Result<(), VboxError>
Creates a new listener object, useful for passive mode.
§Arguments
event_listener-EventListenerto unregister.
§Returns
Returns Ok(()) on success, or a VboxError on failure.
§Example
use virtualbox_rs::{Session, VirtualBox};
let vbox = VirtualBox::init().unwrap();
let event_source = vbox.get_event_source().unwrap();
let listener = event_source.create_listener().unwrap();
let event = event_source.get_event(&listener, 20).unwrap();
event_source.event_processed(&listener, &event).unwrap()