123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #ifndef MDD_IModule_H
- #define MDD_IModule_H
- #include "IOutput.h"
- #include "IInput.h"
- #include "IManager.h"
- #include "state.h"
- #include <string>
- #include <vector>
- #include <memory>
- namespace mdd {
- class IModule
- : public IUnique
- , public IManager
- {
- public:
- typedef std::shared_ptr<IModule> Ptr;
- virtual size_t getNumInputs() = 0;
- virtual size_t getNumOutputs() = 0;
- //"Processor1/Math1/Value1"
- //Proc2/MAth1;Value1
- //Proc2->get(MAth1;Value1)
- //MAth1;Value1
- //MAth1->get(Value1)
- //Value1
- virtual std::shared_ptr<IInput> getInput(const std::string& id) = 0;
- virtual std::shared_ptr<IInput> getInput(size_t index) = 0;
- virtual std::shared_ptr<IOutput> getOutput(const std::string& id) = 0;
- virtual std::shared_ptr<IOutput> getOutput(size_t index) = 0;
- virtual std::vector<std::shared_ptr<IInput>> getOptimizableInputs() = 0;
- virtual std::vector<std::shared_ptr<IOutput>> getOptimizableOutputs() = 0;
- //virtual std::vector <std::vector <std::shared_ptr<IInput>>> getConnectionsOf(Input) = 0;
- //virtual std::vector <std::shared_ptr<IInput>> getOptimizable() = 0;
- virtual state update() = 0;
- virtual void disconnect() = 0;
- virtual ~IModule() = default;
- };
- }
- #endif //MDD_IMODULE_H
|