#[cfg(not(any(
feature = "ssh",
feature = "sftp",
feature = "ftp",
feature = "desktop",
feature = "tools",
feature = "postgres"
)))]
compile_error!(
"ssh-commander-core needs at least one protocol feature enabled: \
ssh, sftp, ftp, desktop, tools, or postgres"
);
pub mod connection_manager;
#[cfg(feature = "desktop")]
pub mod desktop_protocol;
pub mod file_entry;
#[cfg(feature = "ftp")]
pub mod ftp_client;
#[cfg(feature = "desktop")]
pub mod rdp_client;
#[cfg(feature = "sftp")]
pub mod sftp_client;
#[cfg(feature = "ssh")]
pub mod ssh;
#[cfg(feature = "tools")]
pub mod tools;
#[cfg(feature = "desktop")]
pub mod vnc_client;
pub mod event_bus;
pub use connection_manager::{ConnectionManager, ManagedConnection, ProtocolKind};
#[cfg(feature = "desktop")]
pub use desktop_protocol::{
DesktopConnectRequest, DesktopConnectResponse, DesktopKind, DesktopProtocol, FrameUpdate,
RdpConfig, VncConfig,
};
pub use event_bus::CoreEvent;
pub use file_entry::{FileEntry, FileEntryType, RemoteFileEntry};
pub use ssh_commander_keychain as keychain;
#[cfg(feature = "postgres")]
pub use ssh_commander_pg as postgres;
pub use keychain::{
CredentialKind, delete_password, is_supported, list_accounts, load_password, save_password,
};
#[cfg(feature = "postgres")]
pub use postgres::{
ActiveCursor, BROWSER_SESSION_ID, ColumnDetail, ColumnMeta, DbSummary, ExecutionOutcome,
InsertColumnInput, InsertedRow, ObjectType, ObjectTypeKind, PageResult, PgAuthMethod, PgConfig,
PgError, PgPool, PgTlsMode, Relation, RelationKind, Routine, RoutineKind, SchemaContents,
SchemaSummary, Sequence, UpdateOutcome,
};
#[cfg(feature = "sftp")]
pub use sftp_client::{SftpAuthMethod, SftpConfig, StandaloneSftpClient};
#[cfg(feature = "ssh")]
pub use ssh::{
AuthMethod, CommandOutput, HostKeyMismatch, HostKeyStore, HostKeyStoreAccessError,
HostKeyVerificationFailure, PtySession, SshClient, SshConfig, SshTunnel, SshTunnelRef,
};
#[cfg(feature = "tools")]
pub use tools::{
DnsAnswer, DnsQuery, GitStatus, ListeningPort, TcpdumpEvent, TcpdumpRegistry, ToolsError,
dns_resolve_local, dns_resolve_remote, git_status, listening_ports,
};
pub fn core_version() -> &'static str {
env!("CARGO_PKG_VERSION")
}