Even with just one param it's extra work to check what it refers too,
with named ones in a hash one hasn't that issue even with many params.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
# calling init with `1` as its parameter like this:
#
# ```
# calling init with `1` as its parameter like this:
#
# ```
-# PVE::Dummy::BasePlugin->init(1);
+# PVE::Dummy::BasePlugin->init(property_isolation => 1);
# ```
#
# With this, each plugin get's their own isolated list of properties which it
# ```
#
# With this, each plugin get's their own isolated list of properties which it
+# the %param hash controls some behavior of the section config, currently the following options are
+# understood:
+#
+# - property_isolation: if set, each child-plugin has a fully isolated property (schema) namespace.
+# By default this is off, meaning all child-plugins share the schema of properties with the same
+# name. Normally one wants to use oneOf schema's when enabling isolation.
- my ($class, $property_isolation) = @_;
+ my ($class, %param) = @_;
+
+ my $property_isolation = $param{property_isolation};
my $pdata = $class->private();
my $pdata = $class->private();
Conf::One->register();
Conf::Two->register();
Conf::One->register();
Conf::Two->register();
+Conf->init(property_isolation => 1);
# FIXME: allow development debug warnings?!
local $SIG{__WARN__} = sub { die @_; };
# FIXME: allow development debug warnings?!
local $SIG{__WARN__} = sub { die @_; };