#pragma once

#include "operation.h"
#include "../events_data.h"

namespace maps {
namespace wiki {
namespace topo {

class MergeEdgesOperation : public Operation {
public:
    MergeEdgesOperation(
        const Callbacks& callbacks,
        CacheImpl& cache,
        NodeID commonNodeId);

    void operator () ();

private:
    void prepare();

    EdgeID edgeId1;
    EdgeID edgeId2;
    NodeID commonNodeId;
};

} // namespace topo
} // namespace wiki
} // namespace maps
