23 #include <unordered_set>
57 class ParamController;
58 class SendReplyController;
137 std::shared_ptr<ModuleTemplate>
templ;
162 std::list<std::weak_ptr<Bus>>
buses;
166 static std::shared_ptr<Outlet>
Create(std::string
id, std::string name, std::shared_ptr<Module> mod);
168 std::cout <<
"Outlet freed" << std::endl;
172 Outlet(std::string i, std::string n, std::shared_ptr<Module> m) : id(i), name(n), mod(*m.get()) {}
184 Inlet(std::string i, std::string n, std::shared_ptr<Module> m, std::shared_ptr<Bus> b) : id(i), name(n), mod(*m.get()), bus(b) {}
190 std::shared_ptr<ModuleGUI>
GetGUI()
const;
203 virtual std::shared_ptr<ModuleGUI>
BuildGUI(std::shared_ptr<Window> parent_window);
210 std::vector<std::shared_ptr<Inlet>>
inlets;
227 std::shared_ptr<Inlet >
GetInletByID(std::string
id)
const;
std::shared_ptr< ModuleGUI > modulegui
Definition: Module.hpp:235
LateReturn ConnectToInlet(std::shared_ptr< Inlet > i)
std::string name
Definition: Module.hpp:159
std::shared_ptr< Bus > bus
Definition: Module.hpp:182
std::vector< std::shared_ptr< Inlet > > inlets
Definition: Module.hpp:210
static std::shared_ptr< Outlet > Create(std::string id, std::string name, std::shared_ptr< Module > mod)
void PrepareParamControllers()
virtual void state_load_xml(rapidxml::xml_node< char > *)
Definition: Module.hpp:134
std::vector< std::shared_ptr< ParamController > > param_controllers
Definition: Module.hpp:219
Module(std::shared_ptr< ModuleTemplate > t)
Definition: Module.hpp:103
virtual std::string state_store_string() const
Definition: Module.hpp:131
virtual void on_destroy()
Definition: Module.hpp:120
std::shared_ptr< ModuleGUI > GetGUI() const
Definition: Module.hpp:156
static LateReturn< std::shared_ptr< Bus > > CreateNew()
std::shared_ptr< Inlet > GetInletByID(std::string id) const
~Outlet()
Definition: Module.hpp:167
const Relay & Return(Types...args) const
Definition: LateReturn.hpp:437
Definition: Signal.hpp:247
std::shared_ptr< ParamController > GetParamControllerByID(std::string) const
LateReturn CreateIOFromTemplate(bool fake=false)
std::list< std::weak_ptr< Bus > > buses
Definition: Module.hpp:162
std::vector< std::shared_ptr< SendReplyController > > reply_controllers
Definition: Module.hpp:221
int GetID() const
Definition: Module.hpp:63
LateReturn DetachFromInlet(std::shared_ptr< Inlet > i)
std::string id
Definition: Module.hpp:178
int GetID() const
Definition: Module.hpp:78
Definition: LateReturn.hpp:37
std::weak_ptr< Canvas > canvas
Definition: Module.hpp:232
Module()
Definition: Module.hpp:101
Definition: Module.hpp:76
Point2D position_in_canvas
Definition: Module.hpp:144
virtual std::shared_ptr< ModuleGUI > BuildGUI(std::shared_ptr< Window > parent_window)
Definition: Module.hpp:96
virtual LateReturn on_init_latereturn()
Definition: Module.hpp:115
Module(void(*deleter)(void *))
Definition: Module.hpp:102
Definition: Module.hpp:61
Definition: Module.hpp:37
std::shared_ptr< Outlet > GetOutletByID(std::string id) const
static std::shared_ptr< Bus > CreateFake()
std::vector< std::shared_ptr< Outlet > > outlets
Definition: Module.hpp:211
Definition: Alertable.hpp:26
static LateReturn< std::shared_ptr< Group > > CreateNew(std::shared_ptr< Group > parent)
Definition: Module.hpp:46
Definition: DynamicallyLoadableClass.hpp:29
Module & mod
Definition: Module.hpp:160
int sc_id
Definition: Module.hpp:141
virtual void state_store_xml(rapidxml::xml_node< char > *) const
Definition: Module.hpp:133
static LateReturn< std::shared_ptr< Group > > CreateFake(std::shared_ptr< Group > parent)
LateReturn DetachFromAll()
static LateReturn< std::shared_ptr< Inlet > > Create(std::string id, std::string name, std::shared_ptr< Module > mod, bool fake=false)
std::shared_ptr< ModuleTemplate > templ
Definition: Module.hpp:137
virtual void on_gui_build(std::shared_ptr< ModuleGUI >)
Definition: Module.hpp:124
virtual void on_param_set(std::string, float)
Definition: Module.hpp:126
Module & mod
Definition: Module.hpp:180
virtual void on_init()
Definition: Module.hpp:114
ModuleDoesNotWantToBeCreated(std::string t)
Definition: Module.hpp:47
virtual void state_load_string(std::string)
Definition: Module.hpp:132
Definition: LateReturn.hpp:35
Definition: Module.hpp:35
bool enabled_by_factory
Definition: Module.hpp:151
Definition: Exception.hpp:29
std::string id
Definition: Module.hpp:158
Definition: Module.hpp:174
std::string name
Definition: Module.hpp:179
void DropGUI()
Definition: Module.hpp:205