00001 //-------------------------------------------------- 00012 //--------------------------------------------------- 00013 00014 #ifndef INTERFACES_H_ 00015 #define INTERFACES_H_ 00016 00017 namespace imedgine 00018 { 00019 class Algorithm; 00020 class ConfigWidget; 00021 class Configuration; 00022 00023 //--------------------------------------------------- 00040 //--------------------------------------------------- 00041 00042 class AlgorithmInterface 00043 { 00044 public: 00045 //--------------------------------------------------- 00048 00049 virtual ~AlgorithmInterface() {} 00050 00051 //--------------------------------------------------- 00055 00056 virtual Algorithm* getAlgorithm() const = 0; 00057 00058 //--------------------------------------------------- 00062 00063 virtual ConfigWidget* getConfigWidget() const = 0; 00064 00065 //--------------------------------------------------- 00069 00070 virtual Configuration* getConfiguration() const = 0; 00071 }; 00072 00073 } // namespace imedgine 00074 00075 Q_DECLARE_INTERFACE(imedgine::AlgorithmInterface, 00076 "com.imedgine.AlgorithmInterface/1.0") 00077 00078 #endif //INTERFACES_H_