#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, const std::shared_ptr& provider, const DateTimeRange &range); void deleteVariable(const std::shared_ptr& variable); void changeRange(const std::shared_ptr& variable, const DateTimeRange& r); void asyncChangeRange(const std::shared_ptr& variable, const DateTimeRange& r); const std::set> variables(); void synchronize(const std::shared_ptr& var, const std::shared_ptr& with); signals: void variableAdded(const std::shared_ptr&); void variableDeleted(const std::shared_ptr&); };