MCPcopy Create free account
hub / github.com/OSGeo/gdal / GDALVectorInfoReportMetadata

Function GDALVectorInfoReportMetadata

apps/ogrinfo_lib.cpp:707–799  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

705/************************************************************************/
706
707static void GDALVectorInfoReportMetadata(CPLString &osRet, CPLJSONObject &oRoot,
708 const GDALVectorInfoOptions *psOptions,
709 GDALMajorObject *poMajorObject,
710 bool bListMDD, bool bShowMetadata,
711 CSLConstList papszExtraMDDomains)
712{
713 const char *pszIndent = "";
714 auto hObject = GDALMajorObject::ToHandle(poMajorObject);
715
716 const bool bJson = psOptions->eFormat == FORMAT_JSON;
717 /* -------------------------------------------------------------------- */
718 /* Report list of Metadata domains */
719 /* -------------------------------------------------------------------- */
720 if (bListMDD)
721 {
722 const CPLStringList aosMDDList(GDALGetMetadataDomainList(hObject));
723
724 CPLJSONArray metadataDomains;
725
726 if (!aosMDDList.empty() && !bJson)
727 Concat(osRet, psOptions->bStdoutOutput, "%sMetadata domains:\n",
728 pszIndent);
729 for (const char *pszDomain : aosMDDList)
730 {
731 if (EQUAL(pszDomain, ""))
732 {
733 if (bJson)
734 metadataDomains.Add("");
735 else
736 Concat(osRet, psOptions->bStdoutOutput, "%s (default)\n",
737 pszIndent);
738 }
739 else
740 {
741 if (bJson)
742 metadataDomains.Add(pszDomain);
743 else
744 Concat(osRet, psOptions->bStdoutOutput, "%s %s\n",
745 pszIndent, pszDomain);
746 }
747 }
748
749 if (bJson)
750 oRoot.Add("metadataDomains", metadataDomains);
751 }
752
753 if (!bShowMetadata)
754 return;
755
756 /* -------------------------------------------------------------------- */
757 /* Report default Metadata domain. */
758 /* -------------------------------------------------------------------- */
759 CPLJSONObject oMetadata;
760 oRoot.Add("metadata", oMetadata);
761 GDALVectorInfoPrintMetadata(osRet, oMetadata, psOptions, hObject, nullptr,
762 "Metadata", pszIndent);
763
764 /* -------------------------------------------------------------------- */

Callers 2

ReportOnLayerFunction · 0.85
GDALVectorInfoFunction · 0.85

Calls 8

CSLDuplicateFunction · 0.85
ConcatFunction · 0.70
ToHandleFunction · 0.50
EQUALFunction · 0.50
emptyMethod · 0.45
AddMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected