qubit_fs/spi/request/create_temp_file_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-file creation request.
10
11use crate::temp::TempOptions;
12
13/// A facade-created temporary-file request.
14///
15/// # Examples
16///
17/// ```rust
18/// use qubit_fs::spi::CreateTempFileRequest;
19/// use qubit_fs::temp::TempOptions;
20///
21/// assert!(std::any::type_name::<CreateTempFileRequest>().contains("CreateTempFileRequest"));
22/// assert_eq!(TempOptions::default(), TempOptions::new());
23/// ```
24pub struct CreateTempFileRequest {
25 /// Validated temporary-file creation options.
26 options: TempOptions,
27}
28
29impl CreateTempFileRequest {
30 /// Creates this request inside the facade boundary.
31 ///
32 /// # Parameters
33 /// - `options`: Validated temporary-file creation options.
34 ///
35 /// # Returns
36 /// A provider temporary-file 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-file options.
44 ///
45 /// # Returns
46 /// The immutable temporary-file creation options.
47 #[inline]
48 #[must_use]
49 pub const fn options(&self) -> &TempOptions {
50 &self.options
51 }
52}