office-gobmx/configmgr/source
Stephan Bergmann abd630e81b Allow all hierarchical path segments to be ['...'] quoted
...and not just set elements.  <https://gerrit.libreoffice.org/c/core/+/151660>
"tdf#104005 Don't allow changing finalized properties" found that some existing
property names include "/", which makes them unusable with e.g.
getPropertyByHierarchicalName.

The most obvious solution is to allow ['...'] quoting (without a leading
template name, though) for all kinds of hierarchical path segments.  (In theory,
that would cause backwards incompatibility, as e.g. a property named ['foo']
could no longer be referenced by a ['foo'] path segment (it would need to be
referenced by a ['[&apos;foo&apos;]'] path segment instead).  But in practice,
that path segment ['foo'] would have been rejected in the past anyway, as it did
not reference a set element.)

To make this work, the meaning of the setElement out-parameter of
configmgr::Data::parseSegment is changed to only be true if the segment uses
['...'] notation including a leading (non-empty) template name.

What this change does not (yet) address is writing out such quoted (group or
set) names in the hierarchical paths written out in configmgr::writeModFile,
where necessary.  (It never writes out names of properties as parts of
hierarchical names, so this wouldn't be an issue for the existing problematic
properties containing "/" in their names, anyway.)

Change-Id: I635d823c7bbb6b8ac5869c7e0130ba8cfd329599
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151673
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-05-11 16:49:00 +02:00
..
access.cxx
access.hxx
additions.hxx
broadcaster.cxx
broadcaster.hxx
childaccess.cxx
childaccess.hxx
components.cxx
components.hxx
config_map.hxx
configmgr.component
configurationprovider.cxx
configurationprovider.hxx
configurationregistry.cxx
data.cxx Allow all hierarchical path segments to be ['...'] quoted 2023-05-11 16:49:00 +02:00
data.hxx
dconf.cxx
dconf.hxx
defaultprovider.cxx
defaultprovider.hxx
groupnode.cxx
groupnode.hxx
localizedpropertynode.cxx
localizedpropertynode.hxx
localizedvaluenode.cxx
localizedvaluenode.hxx
lock.cxx
lock.hxx
modifications.cxx
modifications.hxx
node.cxx
node.hxx
nodemap.cxx
nodemap.hxx
parsemanager.cxx
parsemanager.hxx
parser.hxx
partial.cxx
partial.hxx
propertynode.cxx
propertynode.hxx
readonlyaccess.cxx
readwriteaccess.cxx
rootaccess.cxx
rootaccess.hxx
rootnode.cxx
rootnode.hxx
setnode.cxx
setnode.hxx
type.cxx
type.hxx
update.cxx
valueparser.cxx
valueparser.hxx
winreg.cxx
winreg.hxx
writemodfile.cxx
writemodfile.hxx
xcdparser.cxx
xcdparser.hxx
xcsparser.cxx
xcsparser.hxx
xcuparser.cxx
xcuparser.hxx
xmldata.cxx
xmldata.hxx