qubit_fs/spi/request/create_temp_directory_request.rs
1// =============================================================================
2// Copyright (c) 2026 Haixing Hu.
3//
4// SPDX-License-Identifier: Apache-2.0
5//
6// Licensed under the Apache License, Version 2.0.
7// =============================================================================
8// facade.
9//! Validated temporary-directory creation request.
10
11use crate::temp::TempOptions;
12
13/// A facade-created temporary-directory request.
14///
15/// # Examples
16///
17/// ```rust
18/// use qubit_fs::spi::CreateTempDirectoryRequest;
19/// use qubit_fs::temp::TempOptions;
20///
21/// assert!(std::any::type_name::<CreateTempDirectoryRequest>().contains("CreateTempDirectoryRequest"));
22/// assert_eq!(TempOptions::default(), TempOptions::new());
23/// ```
24pub struct CreateTempDirectoryRequest {
25 /// Validated temporary-directory creation options.
26 options: TempOptions,
27}
28
29impl CreateTempDirectoryRequest {
30 /// Creates this request inside the facade boundary.
31 ///
32 /// # Parameters
33 /// - `options`: Validated temporary-directory creation options.
34 ///
35 /// # Returns
36 /// A provider temporary-directory request.
37 #[allow(dead_code)]
38 #[inline]
39 pub(crate) const fn new(options: TempOptions) -> Self {
40 Self { options }
41 }
42
43 /// Returns requested temporary-directory options.
44 ///
45 /// # Returns
46 /// The immutable temporary-directory creation options.
47 #[inline]
48 #[must_use]
49 pub const fn options(&self) -> &TempOptions {
50 &self.options
51 }
52}