Struct tor_config::CfgPath
source · [−]pub struct CfgPath(_);
Expand description
A path in a configuration file: tilde expansion is performed, along with expansion of certain variables.
The supported variables are:
ARTI_CACHE
: an arti-specific cache directory.ARTI_CONFIG
: an arti-specific configuration directory.ARTI_SHARED_DATA
: an arti-specific directory in the user’s “shared data” space.ARTI_LOCAL_DATA
: an arti-specific directory in the user’s “local data” space.USER_HOME
: the user’s home directory.
These variables are implemented using the directories
crate, and
so should use appropriate system-specific overrides under the
hood. (Some of those overrides are based on environment variables.)
For more information, see that crate’s documentation.
Alternatively, a CfgPath
can contain literal PathBuf
, which will not be expaneded.
Implementations
sourceimpl CfgPath
impl CfgPath
sourcepub fn new_literal<P: Into<PathBuf>>(path: P) -> Self
pub fn new_literal<P: Into<PathBuf>>(path: P) -> Self
Construct a new CfgPath
designating a literal not-to-be-expanded PathBuf
sourcepub fn path(&self) -> Result<PathBuf, CfgPathError>
pub fn path(&self) -> Result<PathBuf, CfgPathError>
Return the path on disk designated by this CfgPath
.
sourcepub fn as_unexpanded_str(&self) -> Option<&str>
pub fn as_unexpanded_str(&self) -> Option<&str>
If the CfgPath
is a string that should be expaneded, return the (unexpanded) string,
Before use, this string would have be to expanded. So if you want a path to actually use,
call path
instead.
Returns None
if the CfgPath
is a literal PathBuf
not intended for expansion.
sourcepub fn as_literal_path(&self) -> Option<&Path>
pub fn as_literal_path(&self) -> Option<&Path>
If the CfgPath
designates a literal not-to-be-expanded Path
, return a reference to it
Returns None
if the CfgPath
is a string which should be expanded, which is the
usual case.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for CfgPath
impl<'de> Deserialize<'de> for CfgPath
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CfgPath
impl StructuralEq for CfgPath
impl StructuralPartialEq for CfgPath
Auto Trait Implementations
impl RefUnwindSafe for CfgPath
impl Send for CfgPath
impl Sync for CfgPath
impl Unpin for CfgPath
impl UnwindSafe for CfgPath
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more