acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
component.h
1// Created by camilo on 2025-03-09 01:22 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5#include "acme/handler/source.h"
6
7
8class CLASS_DECL_ACME component :
9 virtual public ::source
10{
11public:
12
13
14 ::string m_strComponent;
15 ::string m_strComponentPath;
16 ::string_array_base m_straImplementationAll;
17 ::string_array_base m_straImplementationOnShelf;
18 ::string_array_base m_straImplementationInstalled;
19 ::string_array_base m_straImplementationEnabled;
20 ::string_array_base m_straImplementationOnShelfPath;
21
22 ::string_map_base < ::pointer < ::component_implementation > > m_mapImplementation;
23
24
25 component();
26 ~component() override;
27
28
29 void on_initialize_particle() override;
30
31
32
33 virtual void update();
34
35 virtual void _update_implementations_on_shelf();
36
37 virtual void _update_installed_implementations();
38
39 virtual void _update_enabled_implementations();
40
41 virtual void _001CreateForm(::user::interaction * puserinteractionParent);
42
43 virtual bool is_implementation(const ::scoped_string & scopedstrImplementation);
44 virtual bool is_implementation_installed(const ::scoped_string & scopedstrImplementation);
45 virtual bool is_implementation_on_shelf(const ::scoped_string & scopedstrImplementation);
46 virtual bool is_implementation_enabled(const ::scoped_string & scopedstrImplementation);
47 virtual ::string implementation_path(const ::scoped_string & scopedstrImplementation);
48
49 virtual ::component_implementation * implementation(const ::scoped_string & scopedstrImplementation);
50 virtual ::pointer < ::component_implementation > create_implementation(const ::scoped_string & scopedstrImplementation);
51
52 virtual ::pointer_array < ::component_implementation > enabled_implementations();
53
54
55};
56
57
58