@@ -200,11 +200,27 @@ void populate_with_objects(const ds3_client* client, const char* bucket_name) {
200200 ds3_str_free (job_id);
201201}
202202
203+ void populate_with_multi_dir_objects (const ds3_client* client, const char * bucket_name) {
204+ ds3_str* job_id = populate_with_object_list_return_job (client, bucket_name, multi_dirs_object_list ());
205+ ds3_str_free (job_id);
206+ }
207+
203208ds3_bulk_object_list_response* default_object_list () {
204209 const char * books[5 ] = {" resources/beowulf.txt" , " resources/sherlock_holmes.txt" , " resources/tale_of_two_cities.txt" , " resources/ulysses.txt" , " resources/ulysses_large.txt" };
205210 return ds3_convert_file_list (books, 5 );
206211}
207212
213+ ds3_bulk_object_list_response* multi_dirs_object_list () {
214+ const char * books[6 ] = {
215+ " resources/beowulf.txt" ,
216+ " resources/sherlock_holmes.txt" ,
217+ " resources/tale_of_two_cities.txt" ,
218+ " resources/ulysses.txt" ,
219+ " resources_2/foo.txt" ,
220+ " resources_2/bar.txt" };
221+ return ds3_convert_file_list (books, 6 );
222+ }
223+
208224ds3_request* populate_bulk_return_request (const ds3_client* client, const char * bucket_name, ds3_bulk_object_list_response* obj_list) {
209225 ds3_error* error = create_bucket_with_data_policy (client, bucket_name, ids.data_policy_id ->value );
210226 ds3_error_free (error);
@@ -289,19 +305,23 @@ void populate_with_objects_from_bulk(const ds3_client* client, const char* bucke
289305 ds3_master_object_list_response_free (chunk_response);
290306}
291307
292- ds3_str* populate_with_objects_return_job (const ds3_client* client, const char * bucket_name) {
293- ds3_bulk_object_list_response* bulk_object_list_response = default_object_list ();
294- ds3_request* request = populate_bulk_return_request (client, bucket_name, bulk_object_list_response);
308+ ds3_str* populate_with_object_list_return_job ( const ds3_client* client,
309+ const char * bucket_name,
310+ ds3_bulk_object_list_response* object_list) {
311+ ds3_request* request = populate_bulk_return_request (client, bucket_name, object_list);
295312 ds3_master_object_list_response* master_object_list_response = populate_bulk_return_response (client, request);
296313
297314 ds3_str* job_id = ds3_str_dup (master_object_list_response->job_id );
298315 populate_with_objects_from_bulk (client, bucket_name, master_object_list_response);
299316
300- ds3_bulk_object_list_response_free (bulk_object_list_response);
301317 ds3_master_object_list_response_free (master_object_list_response);
302318 return job_id;
303319}
304320
321+ ds3_str* populate_with_objects_return_job (const ds3_client* client, const char * bucket_name) {
322+ return populate_with_object_list_return_job (client, bucket_name, default_object_list ());
323+ }
324+
305325bool contains_object (ds3_list_bucket_result_response* bucket_list, const char * key) {
306326 uint64_t object_index;
307327 for (object_index = 0 ; object_index < bucket_list->num_objects ; object_index++) {
0 commit comments