// Lua
#include "luaxx/luaxx.h"
// SubCpp
#include "../../client.hpp"
#include "../../diff_summary.hpp"
#include "BindDiffSummarize.h"
void BindDiffSummarize::Push( lua_State* luaState, const svn::DiffSummary& diff )
{
lua::state lState( luaState );
// Create the table to hold the svn_client_diff_summarize_t.
lState.newtable();
lState.push( diff.m_path );
lState.setfield( "path" );
lState.push( diff.m_summarizeKind );
lState.setfield( "summarizeKind" );
lState.push( diff.m_propChanged );
lState.setfield( "propChanged" );
lState.push( diff.m_nodeKind );
lState.setfield( "nodeKind" );
}
void BindDiffSummarize::Push( lua_State* luaState, std::vector< svn::DiffSummary > diffs )
{
lua::state lState( luaState );
// Create the table to hold the svn::DiffSummary.
lState.newtable();
for ( size_t i = 0; i < diffs.size(); ++i )
{
lState.push( i + 1 );
BindDiffSummarize::Push( luaState, diffs[i] );
lState.settable();
}
}