| 357 | } |
| 358 | |
| 359 | struct odb_source_inmemory *odb_source_inmemory_new(struct object_database *odb) |
| 360 | { |
| 361 | struct odb_source_inmemory *source; |
| 362 | |
| 363 | CALLOC_ARRAY(source, 1); |
| 364 | odb_source_init(&source->base, odb, ODB_SOURCE_INMEMORY, "source", false); |
| 365 | |
| 366 | source->base.free = odb_source_inmemory_free; |
| 367 | source->base.close = odb_source_inmemory_close; |
| 368 | source->base.reprepare = odb_source_inmemory_reprepare; |
| 369 | source->base.read_object_info = odb_source_inmemory_read_object_info; |
| 370 | source->base.read_object_stream = odb_source_inmemory_read_object_stream; |
| 371 | source->base.for_each_object = odb_source_inmemory_for_each_object; |
| 372 | source->base.find_abbrev_len = odb_source_inmemory_find_abbrev_len; |
| 373 | source->base.count_objects = odb_source_inmemory_count_objects; |
| 374 | source->base.write_object = odb_source_inmemory_write_object; |
| 375 | source->base.write_object_stream = odb_source_inmemory_write_object_stream; |
| 376 | source->base.freshen_object = odb_source_inmemory_freshen_object; |
| 377 | source->base.begin_transaction = odb_source_inmemory_begin_transaction; |
| 378 | source->base.read_alternates = odb_source_inmemory_read_alternates; |
| 379 | source->base.write_alternate = odb_source_inmemory_write_alternate; |
| 380 | |
| 381 | return source; |
| 382 | } |