mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 19:02:25 +00:00
util: Introduce virTypedParameterRemote datatype
Both admin and remote protocols define their own types (remote_typed_param vs admin_typed_param). Because of the naming convention, admin typed params wouldn't be able to reuse the serialization/deserialization methods, which are tailored for use by remote protocol, even if those method were exported properly. In that case, introduce a new internal data type structurally copying both admin and remote protocols which, eventually, would allow serializer and deserializer to be used in a more generic way.
This commit is contained in:
parent
1e93470df0
commit
41a459947f
@ -36,6 +36,30 @@
|
||||
|
||||
verify(!(VIR_TYPED_PARAM_LAST & VIR_TYPED_PARAM_MULTIPLE));
|
||||
|
||||
typedef struct _virTypedParameterRemoteValue virTypedParameterRemoteValue;
|
||||
typedef struct virTypedParameterRemoteValue *virTypedParameterRemoteValuePtr;
|
||||
|
||||
struct _virTypedParameterRemoteValue {
|
||||
int type;
|
||||
union {
|
||||
int i; /* exempt from syntax-check */
|
||||
unsigned int ui;
|
||||
long long int l;
|
||||
unsigned long long int ul;
|
||||
double d;
|
||||
char b;
|
||||
char *s;
|
||||
} remote_typed_param_value;
|
||||
};
|
||||
|
||||
typedef struct _virTypedParameterRemote *virTypedParameterRemotePtr;
|
||||
|
||||
struct _virTypedParameterRemote {
|
||||
char *field;
|
||||
virTypedParameterRemoteValue value;
|
||||
};
|
||||
|
||||
|
||||
int virTypedParamsValidate(virTypedParameterPtr params, int nparams,
|
||||
/* const char *name, int type ... */ ...)
|
||||
ATTRIBUTE_SENTINEL ATTRIBUTE_RETURN_CHECK;
|
||||
|
Loading…
x
Reference in New Issue
Block a user