/** * Exercise object * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include // Generated #include #include namespace OperatorManagement { class MainHandler; class ObjectOperator final { public: explicit ObjectOperator(MainHandler *mainHandler); ~ObjectOperator(); Core::FunctionReplyObject createObject(const Database::OpmOperator &data, const QVector &vec); Core::FunctionReplyObject updateObject(const Database::OpmOperator &data); Core::FunctionReplyObject updateOperatorExercise(const Database::OpmOperatorExercise &data); Core::FunctionReplyObject updateEffectiveAcls(const QSet &effectiveAcls); Core::FunctionReplyObject updateExercises(const std::vector &exercises, bool dontUpdateDb = false); Core::FunctionReplyObject removeObject(); Core::FunctionReplyObject setPrimaryGroupId(int primaryGroupId); bool saveSettings(const QByteArray &settings); bool loadSettings(QByteArray &settings); int getId() const { return m_data.id; } const Database::OpmOperator &data() const { return m_data; } QString name() const { return m_data.name; } QSet effectiveAcls() const { return m_effectiveAcls; } void reloadAcls(bool force = false); protected: void onPublishData(); private: QSet calculateEffectiveAcls() const; MainHandler *m_mainHandler; Database::OpmOperator m_data; QVector m_dataExercise; Database::OpmSettings m_settings; QSet m_effectiveAcls; std::vector m_exercises; int m_originalPrimaryGroupId; NGL::INGLLogger &m_logger; //Database::OpmOperatorExercise toDbData(const PartiesByExercise &ddsData); std::vector toDdsData(const QVector &dbData); }; }