pub struct ComponentCatalogService { /* private fields */ }Expand description
Component catalog service for managing available components
§Examples
ⓘ
use mecha10_cli::services::ComponentCatalogService;
let service = ComponentCatalogService::new();
// Get all drivers
let drivers = service.get_drivers();
for driver in drivers {
println!("Driver: {} - {}", driver.name, driver.description);
}
// Search for camera components
let cameras = service.search("camera");
// Get a specific component
if let Some(component) = service.get("realsense-camera") {
println!("Found: {}", component.name);
}Implementations§
Source§impl ComponentCatalogService
impl ComponentCatalogService
Sourcepub fn new() -> ComponentCatalogService
pub fn new() -> ComponentCatalogService
Create a new component catalog service
Initializes the catalog with all built-in components.
Sourcepub fn get_all(&self) -> Vec<&Component>
pub fn get_all(&self) -> Vec<&Component>
Get all available components
Returns a vector of all components in the catalog.
Sourcepub fn get_drivers(&self) -> Vec<&Component>
pub fn get_drivers(&self) -> Vec<&Component>
Get all driver components
Returns only components of type Driver.
Sourcepub fn get_packages(&self) -> Vec<&Component>
pub fn get_packages(&self) -> Vec<&Component>
Get all package components
Returns only components of type Package.
Sourcepub fn get_behaviors(&self) -> Vec<&Component>
pub fn get_behaviors(&self) -> Vec<&Component>
Get all behavior components
Returns only components of type Behavior.
Sourcepub fn get_stacks(&self) -> Vec<&Component>
pub fn get_stacks(&self) -> Vec<&Component>
Get all stack components
Returns only components of type Stack (pre-configured sets).
Sourcepub fn get_by_type(&self, component_type: ComponentType) -> Vec<&Component>
pub fn get_by_type(&self, component_type: ComponentType) -> Vec<&Component>
Sourcepub fn get_by_category(&self, category: &str) -> Vec<&Component>
pub fn get_by_category(&self, category: &str) -> Vec<&Component>
Sourcepub fn list_categories(&self) -> Vec<String>
pub fn list_categories(&self) -> Vec<String>
Sourcepub fn get_by_tag(&self, tag: &str) -> Vec<&Component>
pub fn get_by_tag(&self, tag: &str) -> Vec<&Component>
Get components with a specific tag
§Arguments
tag- Tag to filter by (e.g., “camera”, “lidar”, “imu”)
Trait Implementations§
Source§impl Default for ComponentCatalogService
impl Default for ComponentCatalogService
Source§fn default() -> ComponentCatalogService
fn default() -> ComponentCatalogService
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ComponentCatalogService
impl RefUnwindSafe for ComponentCatalogService
impl Send for ComponentCatalogService
impl Sync for ComponentCatalogService
impl Unpin for ComponentCatalogService
impl UnsafeUnpin for ComponentCatalogService
impl UnwindSafe for ComponentCatalogService
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.