Add support for reading/writing a vector of binders

Change-Id: Iaa8da704b2ae3c1ca5456177441a335991b40e8a
Test: unit tests pass
Bug: 24470786
Signed-off-by: Casey Dahlin <sadmac@google.com>
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index 637a1e9..695d5f1 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -125,6 +125,8 @@
     status_t            writeCharVector(const std::vector<char16_t>& val);
     status_t            writeString16Vector(const std::vector<String16>& val);
 
+    status_t            writeStrongBinderVector(const std::vector<sp<IBinder>>& val);
+
     template<typename T>
     status_t            write(const Flattenable<T>& val);
 
@@ -202,7 +204,9 @@
     wp<IBinder>         readWeakBinder() const;
 
     template<typename T>
-    status_t readStrongBinder(sp<T>* val) const;
+    status_t            readStrongBinder(sp<T>* val) const;
+
+    status_t            readStrongBinderVector(std::vector<sp<IBinder>>* val) const;
 
     status_t            readByteVector(std::vector<int8_t>* val) const;
     status_t            readInt32Vector(std::vector<int32_t>* val) const;