use crate::prelude::internal::*;
pub struct GtbRemote {
interop: Box<dyn GtbRemoteInterop>,
cwd_path: GtpCwdPath,
base_path: GtpCwdRelativePath,
}
impl GtbRemote {
pub fn new(
interop: Box<dyn GtbRemoteInterop>,
cwd_path: GtpCwdPath,
base_path: GtpCwdRelativePath,
) -> Self {
Self {
interop,
cwd_path,
base_path,
}
}
}
impl GtbFsEnv for GtbRemote {
fn cwd_path(&self) -> &GtpCwdPath {
&self.cwd_path
}
fn base_path(&self) -> &GtpCwdRelativePath {
&self.base_path
}
}
impl GtbFsSourceRemote for GtbRemote {}
impl GtbFsSinkRemote for GtbRemote {}
impl GtbDiagnosticSinkRemote for GtbRemote {}
impl GtbRemoteEnv for GtbRemote {
fn remote_interop(&self) -> &dyn GtbRemoteInterop {
&*self.interop
}
}
impl GtbFormatterRunnerRemote<GtbDiagnosticSinkRemoteKind> for GtbRemote {}
impl GtBackend for GtbRemote {
type FileSourceKind = GtbFsSourceRemoteKind;
type FileSinkKind = GtbFsSinkRemoteKind;
type DiagnosticSinkKind = GtbDiagnosticSinkRemoteKind;
type FormatterRunnerKind = GtbFormatterRunnerRemoteKind;
}