#pragma once

#include "util/Pointers.h"
#include <map>

class ChangeCache
{
private:
	std::map< ContextPtr, std::map<AgString, DataTablePtr > > variableChanges;

public:
    void setVariableField(ContextPtr context, const AgString& variable,
                          const AgString& field, int record, AgObjectPtr value, CallerControllerPtr cc) ;
	void commit(BindingProviderPtr provider, CallerControllerSelectorPtr selector);
};

