diff options
Diffstat (limited to 'libmsi/streams.c')
-rw-r--r-- | libmsi/streams.c | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/libmsi/streams.c b/libmsi/streams.c index a8025f5..ea5d0ae 100644 --- a/libmsi/streams.c +++ b/libmsi/streams.c @@ -293,94 +293,6 @@ static unsigned streams_view_get_column_info( LibmsiView *view, unsigned n, cons return LIBMSI_RESULT_SUCCESS; } -static unsigned streams_find_row(LibmsiStreamsView *sv, LibmsiRecord *rec, unsigned *row) -{ - const WCHAR *str; - unsigned r, i, id, data; - - str = _libmsi_record_get_string_raw(rec, 1); - r = _libmsi_id_from_stringW(sv->db->strings, str, &id); - if (r != LIBMSI_RESULT_SUCCESS) - return r; - - for (i = 0; i < sv->num_rows; i++) - { - streams_view_fetch_int(&sv->view, i, 1, &data); - - if (data == id) - { - *row = i; - return LIBMSI_RESULT_SUCCESS; - } - } - - return LIBMSI_RESULT_FUNCTION_FAILED; -} - -static unsigned streams_modify_update(LibmsiView *view, LibmsiRecord *rec) -{ - LibmsiStreamsView *sv = (LibmsiStreamsView *)view; - unsigned r, row; - - r = streams_find_row(sv, rec, &row); - if (r != LIBMSI_RESULT_SUCCESS) - return LIBMSI_RESULT_FUNCTION_FAILED; - - return streams_view_set_row(view, row, rec, 0); -} - -static unsigned streams_modify_assign(LibmsiView *view, LibmsiRecord *rec) -{ - LibmsiStreamsView *sv = (LibmsiStreamsView *)view; - unsigned r, row; - - r = streams_find_row(sv, rec, &row); - if (r == LIBMSI_RESULT_SUCCESS) - return streams_modify_update(view, rec); - - return streams_view_insert_row(view, rec, -1, false); -} - -static unsigned streams_view_modify(LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) -{ - unsigned r; - - TRACE("%p %d %p\n", view, eModifyMode, rec); - - switch (eModifyMode) - { - case LIBMSI_MODIFY_ASSIGN: - r = streams_modify_assign(view, rec); - break; - - case LIBMSI_MODIFY_INSERT: - r = streams_view_insert_row(view, rec, -1, false); - break; - - case LIBMSI_MODIFY_UPDATE: - r = streams_modify_update(view, rec); - break; - - case LIBMSI_MODIFY_VALIDATE_NEW: - case LIBMSI_MODIFY_INSERT_TEMPORARY: - case LIBMSI_MODIFY_REFRESH: - case LIBMSI_MODIFY_REPLACE: - case LIBMSI_MODIFY_MERGE: - case LIBMSI_MODIFY_DELETE: - case LIBMSI_MODIFY_VALIDATE: - case LIBMSI_MODIFY_VALIDATE_FIELD: - case LIBMSI_MODIFY_VALIDATE_DELETE: - FIXME("%p %d %p - mode not implemented\n", view, eModifyMode, rec ); - r = LIBMSI_RESULT_CALL_NOT_IMPLEMENTED; - break; - - default: - r = LIBMSI_RESULT_INVALID_DATA; - } - - return r; -} - static unsigned streams_view_delete(LibmsiView *view) { LibmsiStreamsView *sv = (LibmsiStreamsView *)view; @@ -446,7 +358,6 @@ static const LibmsiViewOps streams_ops = streams_view_close, streams_view_get_dimensions, streams_view_get_column_info, - streams_view_modify, streams_view_delete, streams_view_find_matching_rows, NULL, |