self._entry_map[p.kind].pop(p.name)
self._entries_ordered.remove(p)
+ def is_entry_this_kind(self, entry, kind):
+ """
+ Check if input entry if of input kind
+
+ Args:
+ entry: an Entry object
+ kind: a string. Possible values are "static", "dynamic", "controls"
+
+ Returns:
+ A boolean indicating whether input entry is of input kind.
+ """
+ if kind not in ("static", "dynamic", "controls"):
+ assert(False), "Unknown kind value " + kind
+
+ return entry.name in self._entry_map[kind]
# After all entries/clones are inserted,
# invoke this to generate the parent/child node graph all these objects
% if entry.deprecated:
${ndk(entry.name) + " = " | csym,ljust(60)}// Deprecated! DO NOT USE
% else:
+ % if entry.description or entry.details:
+ /**
+${entry.description | ndkdoc(metadata)}\
+ *
+ * <p>This tag may appear in:</p>
+ * <ul>
+ % if metadata.is_entry_this_kind(entry, 'static'):
+ * <li>ACameraMetadata from ACameraManager_getCameraCharacteristics</li>
+ % endif
+ % if metadata.is_entry_this_kind(entry, 'dynamic'):
+ * <li>ACameraMetadata from ACameraCaptureSession_captureCallback_result callbacks</li>
+ % endif
+ % if metadata.is_entry_this_kind(entry, 'controls'):
+ * <li>ACaptureRequest</li>
+ % endif
+ * </ul>
+ *
+${entry.details | ndkdoc(metadata)}\
+ */
+ % endif
${ndk(entry.name) + " = " | csym,ljust(60)}// ${annotated_type(entry)}
% endif
% if idx == 0:
% endif
% endif
% if (val.notes or val.deprecated):
- /*
+ /**
% if val.notes:
${val.notes | ndkdoc(metadata)}\
% endif