#include #include #include #include #include #include #include #include #include #include #include #include #include "Data/DateTimeRange.h" class VariableController2: public QObject { class VariableController2Private; Q_OBJECT spimpl::unique_impl_ptr impl; public: explicit VariableController2(); std::shared_ptr createVariable(const QString &name, const QVariantHash &metadata, std::shared_ptr provider, const DateTimeRange &range); void deleteVariable(std::shared_ptr variable); void changeRange(std::shared_ptr variable, DateTimeRange r); void asyncChangeRange(std::shared_ptr variable, DateTimeRange r); const std::set> variables(); void synchronize(std::shared_ptr var, std::shared_ptr with); signals: void variableAdded(std::shared_ptr); void variableDeleted(std::shared_ptr); };