diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2014-04-17 16:14:57 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2014-05-02 15:22:25 -0700 |
commit | 4764324d2704f1b08bb7407014bf203924ff2363 (patch) | |
tree | 9aefad4eac4e67affaf093ec293fb7e0f95ba95e /include | |
parent | 32fa3c6fab55b075c916f4dad38e42e239bb7813 (diff) | |
download | frameworks_av-4764324d2704f1b08bb7407014bf203924ff2363.zip frameworks_av-4764324d2704f1b08bb7407014bf203924ff2363.tar.gz frameworks_av-4764324d2704f1b08bb7407014bf203924ff2363.tar.bz2 |
camera3: Update CameraMetadata vendor tag handling.
Bug: 12134423
Change-Id: I1d1be6792b6a4c9f08e042a8b2c89146bde5665e
Diffstat (limited to 'include')
-rw-r--r-- | include/camera/VendorTagDescriptor.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/include/camera/VendorTagDescriptor.h b/include/camera/VendorTagDescriptor.h index ea21d31..1758acf 100644 --- a/include/camera/VendorTagDescriptor.h +++ b/include/camera/VendorTagDescriptor.h @@ -16,6 +16,7 @@ #ifndef VENDOR_TAG_DESCRIPTOR_H +#include <utils/Vector.h> #include <utils/KeyedVector.h> #include <utils/String8.h> #include <utils/RefBase.h> @@ -67,6 +68,24 @@ class VendorTagDescriptor /*out*/ Parcel* parcel) const; + /** + * Convenience method to get a vector containing all vendor tag + * sections, or an empty vector if none are defined. + */ + SortedVector<String8> getAllSectionNames() const; + + /** + * Lookup the tag id for a given tag name and section. + * + * Returns OK on success, or a negative error code. + */ + status_t lookupTag(String8 name, String8 section, /*out*/uint32_t* tag) const; + + /** + * Dump the currently configured vendor tags to a file descriptor. + */ + void dump(int fd, int verbosity, int indentation) const; + // Static methods: /** @@ -109,9 +128,11 @@ class VendorTagDescriptor static sp<VendorTagDescriptor> getGlobalVendorTagDescriptor(); protected: VendorTagDescriptor(); + KeyedVector<String8, KeyedVector<String8, uint32_t>*> mReverseMapping; KeyedVector<uint32_t, String8> mTagToNameMap; - KeyedVector<uint32_t, String8> mTagToSectionMap; + KeyedVector<uint32_t, uint32_t> mTagToSectionMap; // Value is offset in mSections KeyedVector<uint32_t, int32_t> mTagToTypeMap; + SortedVector<String8> mSections; // must be int32_t to be compatible with Parcel::writeInt32 int32_t mTagCount; private: |