use std::path::PathBuf;
use crate::{
error::{CResult, CloudErrorKind},
filter::{info, ticket, Request},
};
pub trait SyncFilter: Send + Sync {
fn fetch_data(
&self,
_request: Request,
_ticket: ticket::FetchData,
_info: info::FetchData,
) -> CResult<()>;
fn cancel_fetch_data(&self, _request: Request, _info: info::CancelFetchData) {}
fn validate_data(
&self,
_request: Request,
_ticket: ticket::ValidateData,
_info: info::ValidateData,
) -> CResult<()> {
Err(CloudErrorKind::NotSupported)
}
fn fetch_placeholders(
&self,
_request: Request,
_ticket: ticket::FetchPlaceholders,
_info: info::FetchPlaceholders,
) -> CResult<()> {
Err(CloudErrorKind::NotSupported)
}
fn cancel_fetch_placeholders(&self, _request: Request, _info: info::CancelFetchPlaceholders) {}
fn opened(&self, _request: Request, _info: info::Opened) {}
fn closed(&self, _request: Request, _info: info::Closed) {}
fn dehydrate(
&self,
_request: Request,
_ticket: ticket::Dehydrate,
_info: info::Dehydrate,
) -> CResult<()> {
Err(CloudErrorKind::NotSupported)
}
fn dehydrated(&self, _request: Request, _info: info::Dehydrated) {}
fn delete(
&self,
_request: Request,
_ticket: ticket::Delete,
_info: info::Delete,
) -> CResult<()> {
Err(CloudErrorKind::NotSupported)
}
fn deleted(&self, _request: Request, _info: info::Deleted) {}
fn rename(
&self,
_request: Request,
_ticket: ticket::Rename,
_info: info::Rename,
) -> CResult<()> {
Err(CloudErrorKind::NotSupported)
}
fn renamed(&self, _request: Request, _info: info::Renamed) {}
fn state_changed(&self, _changes: Vec<PathBuf>) {}
}