sim_lib_music_core/
citizen.rs1use sim_kernel::{Expr, Symbol};
2
3use crate::MusicComponentDescriptor;
4
5#[derive(Clone, Debug, PartialEq, Eq)]
10pub struct MusicComponentCitizenDescriptor {
11 descriptor: MusicComponentDescriptor,
12}
13
14impl MusicComponentCitizenDescriptor {
15 pub fn new(descriptor: MusicComponentDescriptor) -> Self {
17 Self { descriptor }
18 }
19
20 pub fn descriptor(&self) -> &MusicComponentDescriptor {
22 &self.descriptor
23 }
24
25 pub fn as_expr(&self) -> Expr {
27 self.descriptor.to_expr()
28 }
29}
30
31pub fn music_component_descriptor_class_symbol() -> Symbol {
33 Symbol::qualified("music", "ComponentDescriptor")
34}
35
36pub fn music_component_registry_class_symbol() -> Symbol {
38 Symbol::qualified("music", "ComponentRegistry")
39}
40
41pub fn music_component_card_class_symbol() -> Symbol {
43 Symbol::qualified("music", "ComponentCard")
44}