diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2014-05-05 17:40:08 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-05-05 17:40:09 +0000 |
commit | f2776a5692bb4228decbe4ea3c8cc6df1d9c684c (patch) | |
tree | de826271c5cd7aaabb8c587b5a9e501ecf779228 /include | |
parent | 6640d87d1a9263c12bab6d7ded7cc78a3eb50ae9 (diff) | |
parent | f81648ec38ff63f1f35516fa27c1c24d846e9ba5 (diff) | |
download | frameworks_av-f2776a5692bb4228decbe4ea3c8cc6df1d9c684c.zip frameworks_av-f2776a5692bb4228decbe4ea3c8cc6df1d9c684c.tar.gz frameworks_av-f2776a5692bb4228decbe4ea3c8cc6df1d9c684c.tar.bz2 |
Merge "camera3: Update CameraMetadata vendor tag handling."
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: |