Skip to content
Snippets Groups Projects
Transaction.hpp 750 B
Newer Older
Philip Müller's avatar
Philip Müller committed
/*
 * Transaction.hpp
 *
 *  Created on: 28 sie 2014
 *      Author: dec
 */

#ifndef TRANSACTION_HPP_
#define TRANSACTION_HPP_

december0123's avatar
december0123 committed
#include <vector>

Philip Müller's avatar
Philip Müller committed
#include "Config.hpp"
#include "Data.hpp"
#include "Enums.hpp"

class Transaction
{
public:
    Transaction() = delete;
december0123's avatar
december0123 committed
    Transaction(Data data, std::shared_ptr<Config> config, MHWD::TRANSACTIONTYPE type, bool allowReinstallation);
Philip Müller's avatar
Philip Müller committed

december0123's avatar
december0123 committed
    bool isAllowedToReinstall() const;
december0123's avatar
december0123 committed
    std::shared_ptr<Config> config_;
december0123's avatar
december0123 committed
    MHWD::TRANSACTIONTYPE type_;
december0123's avatar
december0123 committed
    std::vector<std::shared_ptr<Config>> dependencyConfigs_;
    std::vector<std::shared_ptr<Config>> conflictedConfigs_;
    std::vector<std::shared_ptr<Config>> configsRequirements_;
Philip Müller's avatar
Philip Müller committed

december0123's avatar
december0123 committed
    bool allowedToReinstall_ = false;
Philip Müller's avatar
Philip Müller committed
};

#endif /* TRANSACTION_HPP_ */