Esempio n. 1
0
void ApiHandler::IpcEditorGetChangesSince(EditorCtrl& editor, IConnection& conn) {
	const hessian_ipc::Call& call = *conn.get_call();

	// Get the version handle
	const size_t versionHandle = call.GetParameter(1).GetInt();
	ConnectionState& connState = GetConnState(conn);
	if (versionHandle >= connState.docHandles.size()) return; // fault: invalid handle
	const doc_id& di = connState.docHandles[versionHandle];

	// Get diff
	vector<size_t> changedlines;
	editor.GetLinesChangedSince(di, changedlines);

	// Return changed lines
	hessian_ipc::Writer& writer = conn.get_reply_writer();
	writer.write_reply(changedlines);
}