@@ -71,6 +71,7 @@ static CppInstanceManager<Storage> g_storage_instances;
7171%SWIG_FUTURE(Future_StorageMetadata, MetadataInternal, internal,
7272 firebase::storage::Metadata, FirebaseException)
7373%SWIG_FUTURE(Future_Size, long , internal, size_t , FirebaseException)
74+ %SWIG_FUTURE(Future_StorageListResult, StorageListResultInternal, internal, firebase::storage::StorageListResult, FirebaseException)
7475
7576
7677// TODO: Move this into App
@@ -160,10 +161,6 @@ static AttributeType& %mangle(Class) ##_## AttributeName ## _get_func(Class* sel
160161%ignore firebase::storage::StorageReference::GetBytes;
161162%ignore firebase::storage::StorageReference::PutBytes;
162163%ignore firebase::storage::StorageReference::PutFile;
163- // Ignore List methods and StorageListResult since StorageListResult is not wrapped yet.
164- %ignore firebase::storage::StorageReference::List;
165- %ignore firebase::storage::StorageReference::ListLastResult;
166- %ignore firebase::storage::StorageListResult;
167164
168165// Remove the copy operator as the proxy uses the copy constructor.
169166%ignore firebase::storage::StorageReference::operator =(const StorageReference&);
@@ -217,6 +214,7 @@ static AttributeType& %mangle(Class) ##_## AttributeName ## _get_func(Class* sel
217214 }
218215}
219216
217+ %rename(" StorageListResultInternal" ) firebase::storage::StorageListResult;
220218%rename(" MetadataInternal" ) firebase::storage::Metadata;
221219// Configure properties for get / set methods on the Metadata class.
222220%safeattributestring(firebase::storage::Metadata, std::string, Bucket, bucket);
@@ -480,6 +478,17 @@ class MonitorController;
480478%include " storage/src/include/firebase/storage/common.h"
481479%include " storage/src/include/firebase/storage/controller.h"
482480%include " storage/src/include/firebase/storage/listener.h"
481+ %ignore firebase::storage::StorageListResult::items;
482+ %ignore firebase::storage::StorageListResult::prefixes;
483+
484+ %extend firebase::storage::StorageListResult {
485+ size_t items_count () const { return self->items ().size (); }
486+ firebase::storage::StorageReference items_get (size_t index) const { return self->items ()[index]; }
487+ size_t prefixes_count () const { return self->prefixes ().size (); }
488+ firebase::storage::StorageReference prefixes_get (size_t index) const { return self->prefixes ()[index]; }
489+ }
490+
491+ %include " storage/src/include/firebase/storage/list_result.h"
483492%include " storage/src/include/firebase/storage/metadata.h"
484493%include " storage/src/include/firebase/storage/storage_reference.h"
485494%include " storage/src/swig/monitor_controller.h"
0 commit comments