pub struct TerminalManager { /* private fields */ }Implementations§
Source§impl TerminalManager
impl TerminalManager
Sourcepub fn new(event_sender: Box<dyn TerminalEventSender>) -> Self
pub fn new(event_sender: Box<dyn TerminalEventSender>) -> Self
Examples found in repository?
examples/pty.rs (line 20)
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 // Create a terminal with the default shell
23 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 // Start reading PTY output
27 manager.start_reading(&id)?;
28
29 // Write a command
30 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 // Resize
33 manager.resize_terminal(&id, 120, 40)?;
34
35 // Clean up
36 manager.close_terminal(&id)?;
37
38 Ok(())
39}pub fn register_profile( &self, profile: TerminalProfile, ) -> Result<String, String>
pub fn unregister_profile(&self, profile_id: &str) -> Result<(), String>
pub fn get_profile(&self, profile_id: &str) -> Result<TerminalProfile, String>
pub fn list_profiles(&self) -> Vec<TerminalProfile>
pub fn create_terminal_with_options( &self, options: TerminalOptions, ) -> Result<String, String>
Sourcepub fn create_terminal(
&self,
name: Option<String>,
shell: Option<String>,
cwd: Option<String>,
) -> Result<String, String>
pub fn create_terminal( &self, name: Option<String>, shell: Option<String>, cwd: Option<String>, ) -> Result<String, String>
Examples found in repository?
examples/pty.rs (line 23)
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 // Create a terminal with the default shell
23 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 // Start reading PTY output
27 manager.start_reading(&id)?;
28
29 // Write a command
30 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 // Resize
33 manager.resize_terminal(&id, 120, 40)?;
34
35 // Clean up
36 manager.close_terminal(&id)?;
37
38 Ok(())
39}Sourcepub fn write_to_terminal(&self, id: &str, data: &str) -> Result<(), String>
pub fn write_to_terminal(&self, id: &str, data: &str) -> Result<(), String>
Examples found in repository?
examples/pty.rs (line 30)
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 // Create a terminal with the default shell
23 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 // Start reading PTY output
27 manager.start_reading(&id)?;
28
29 // Write a command
30 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 // Resize
33 manager.resize_terminal(&id, 120, 40)?;
34
35 // Clean up
36 manager.close_terminal(&id)?;
37
38 Ok(())
39}Sourcepub fn resize_terminal(
&self,
id: &str,
cols: u16,
rows: u16,
) -> Result<(), String>
pub fn resize_terminal( &self, id: &str, cols: u16, rows: u16, ) -> Result<(), String>
Examples found in repository?
examples/pty.rs (line 33)
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 // Create a terminal with the default shell
23 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 // Start reading PTY output
27 manager.start_reading(&id)?;
28
29 // Write a command
30 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 // Resize
33 manager.resize_terminal(&id, 120, 40)?;
34
35 // Clean up
36 manager.close_terminal(&id)?;
37
38 Ok(())
39}Sourcepub fn close_terminal(&self, id: &str) -> Result<(), String>
pub fn close_terminal(&self, id: &str) -> Result<(), String>
Examples found in repository?
examples/pty.rs (line 36)
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 // Create a terminal with the default shell
23 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 // Start reading PTY output
27 manager.start_reading(&id)?;
28
29 // Write a command
30 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 // Resize
33 manager.resize_terminal(&id, 120, 40)?;
34
35 // Clean up
36 manager.close_terminal(&id)?;
37
38 Ok(())
39}pub fn list_terminals(&self) -> Vec<TerminalInfo>
Sourcepub fn start_reading(&self, id: &str) -> Result<(), String>
pub fn start_reading(&self, id: &str) -> Result<(), String>
Examples found in repository?
examples/pty.rs (line 27)
19fn main() -> Result<(), Box<dyn std::error::Error>> {
20 let manager = TerminalManager::new(Box::new(PrintSender));
21
22 // Create a terminal with the default shell
23 let id = manager.create_terminal(None, None, None)?;
24 println!("Created terminal: {}", id);
25
26 // Start reading PTY output
27 manager.start_reading(&id)?;
28
29 // Write a command
30 manager.write_to_terminal(&id, "echo 'Hello from PTY'\n")?;
31
32 // Resize
33 manager.resize_terminal(&id, 120, 40)?;
34
35 // Clean up
36 manager.close_terminal(&id)?;
37
38 Ok(())
39}Trait Implementations§
Auto Trait Implementations§
impl Freeze for TerminalManager
impl !RefUnwindSafe for TerminalManager
impl Send for TerminalManager
impl Sync for TerminalManager
impl Unpin for TerminalManager
impl UnsafeUnpin for TerminalManager
impl !UnwindSafe for TerminalManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.