NAME
Protocol::Sys::Virt::TypedParams - Helper functions for typed parameter values
VERSION
v12.0.2
SYNOPSYS
my $params = typed_params_new();
typed_params_field( $params, MIGRATE_PARAM_DEST_NAME,
typed_value_new( TYPED_PARAM_STRING, 'test' ) );
my $dest = typed_params_field_string_value( $params, MIGRATE_PARAM_DEST_NAME );
DESCRIPTION
Typed parameters and typed parameter sets are part of the LibVirt protocol. This module offers a set of functions to work with typed parameters and parameter sets.
CONSTANTS
TYPED_PARAM_*
TYPED_PARAM_INT
Integer (32-bit) value parameter
TYPED_PARAM_UINT
Unsigned integer value parameter
TYPED_PARAM_LLONG
Long long (64-bit) integer value parameter
TYPED_PARAM_ULLONG
Unsigned long long integer value parameter
TYPED_PARAM_DOUBLE
IEEE double float value parameter
TYPED_PARAM_BOOLEAN
Boolean value parameter
TYPED_PARAM_STRING
String value parameter; servers need to indicate feature DRV_FEATURE_TYPED_PARAM_STRING to accept this type of parameter
FUNCTIONS
typed_params_new
my $new_params = typed_params_new();
# - or -
my $new_params = typed_params_new( $old_params );
Creates and returns a new typed parameter set. If $old_params is passed, the structure is duplicated to create the return value.
typed_field_new
my $new_field = typed_field_new( 'name', TYPED_PARAM_INT, 3 );
Creates a new typed parameter field to become an entry in a typed parameter set.
typed_value_new
my $value = typed_value_new( $type, $value );
Creates and returns a new typed value.
typed_params_field
my $field = typed_params_field( $params, $name );
# - or -
typed_params_field( $params, $name, $typed_value );
When invoked as getter, returns the first field named $name in the parameter set. When invoked as a setter, changes the value of the first named field to the value provided, or, if no matching field is found, adds a field by this name to the parameter set.
typed_params_fields
my $fields = typed_params_fields( $params, $fieldname );
Returns all fields in the parameter set whose name matches $fieldname.
typed_params_field_int_value
my $value = typed_params_field_int_value( $params, $fieldname );
# - or -
typed_params_field_int_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
typed_params_field_uint_value
my $value = typed_params_field_uint_value( $params, $fieldname );
# - or -
typed_params_field_uint_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
typed_params_field_long_value
my $value = typed_params_field_long_value( $params, $fieldname );
# - or -
typed_params_field_long_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
typed_params_field_ulong_value
my $value = typed_params_field_ulong_value( $params, $fieldname );
# - or -
typed_params_field_ulong_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
typed_params_field_double_value
my $value = typed_params_field_double_value( $params, $fieldname );
# - or -
typed_params_field_double_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
typed_params_field_boolean_value
my $value = typed_params_field_boolean_value( $params, $fieldname );
# - or -
typed_params_field_boolean_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
typed_params_field_string_value
my $value = typed_params_field_string_value( $params, $fieldname );
# - or -
typed_params_field_string_value( $params, $fieldname, $value );
When invoked as a getter, returns the value of the first parameter in $params whose name matches $fieldname. When invoked as a setter, sets the value of the first parameter in $params whose name matches $fieldname to $value, or, when no such entry exists, adds a parameter by this name and value.
When the entry exists, but has a different type, an error is thrown.
Note that TYPED_PARAM_STRING typed parameters can only be sent to servers declaring support for DRV_FEATURE_TYPED_PARAM_STRING.
SEE ALSO
LICENSE AND COPYRIGHT
See the LICENSE file in this distribution.