bsp_types/
bt_resources.rs1use super::BuildTargetIdentifier;
2use serde::{Deserialize, Serialize};
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
12pub struct BuildTargetResources {
13 targets: Vec<BuildTargetIdentifier>,
14}
15
16impl BuildTargetResources {
17 pub fn new(targets: Vec<BuildTargetIdentifier>) -> Self {
18 Self { targets }
19 }
20
21 pub fn targets(&self) -> &[BuildTargetIdentifier] {
23 self.targets.as_ref()
24 }
25
26 pub fn set_targets(&mut self, targets: Vec<BuildTargetIdentifier>) {
28 self.targets = targets;
29 }
30
31 pub fn targets_mut(&mut self) -> &mut Vec<BuildTargetIdentifier> {
33 &mut self.targets
34 }
35}
36
37#[derive(Default, Debug, Serialize, Deserialize, PartialEq, Eq)]
38pub struct BuildTargetResourcesResult {
39 items: Vec<Resources>,
40}
41
42impl BuildTargetResourcesResult {
43 pub fn new(items: Vec<Resources>) -> Self {
44 Self { items }
45 }
46
47 pub fn items(&self) -> &[Resources] {
49 self.items.as_ref()
50 }
51
52 pub fn items_mut(&mut self) -> &mut Vec<Resources> {
54 &mut self.items
55 }
56}
57
58#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
59pub struct Resources {
60 target: BuildTargetIdentifier,
61 resources: Vec<String>,
63}
64
65impl Resources {
66 pub fn new(target: BuildTargetIdentifier, resources: Vec<String>) -> Self {
67 Self { target, resources }
68 }
69
70 pub fn set_target(&mut self, target: BuildTargetIdentifier) {
72 self.target = target;
73 }
74
75 pub fn target(&self) -> &BuildTargetIdentifier {
77 &self.target
78 }
79
80 pub fn set_resources(&mut self, resources: Vec<String>) {
82 self.resources = resources;
83 }
84
85 pub fn resources(&self) -> &[String] {
87 self.resources.as_ref()
88 }
89}