The get/set pair and the struct will be reused by qdev link prop, make them public.
Signed-off-by: Fam Zheng <f...@redhat.com> --- include/qom/object.h | 13 +++++++++++++ qom/object.c | 18 ++++++------------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index abaeb8c..4659e6a 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1613,4 +1613,17 @@ Object *container_get(Object *root, const char *path); * Returns the instance_size of the given @typename. */ size_t object_type_get_instance_size(const char *typename); + +typedef struct { + Object **child; + void (*check)(Object *, const char *, Object *, Error **); + ObjectPropertyLinkFlags flags; +} LinkProperty; + +void object_get_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp); +void object_set_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp); #endif diff --git a/qom/object.c b/qom/object.c index 5f6fdfa..3868370 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1434,15 +1434,9 @@ void object_property_allow_set_link(Object *obj, const char *name, /* Allow the link to be set, always */ } -typedef struct { - Object **child; - void (*check)(Object *, const char *, Object *, Error **); - ObjectPropertyLinkFlags flags; -} LinkProperty; - -static void object_get_link_property(Object *obj, Visitor *v, - const char *name, void *opaque, - Error **errp) +void object_get_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) { LinkProperty *lprop = opaque; Object **child = lprop->child; @@ -1498,9 +1492,9 @@ static Object *object_resolve_link(Object *obj, const char *name, return target; } -static void object_set_link_property(Object *obj, Visitor *v, - const char *name, void *opaque, - Error **errp) +void object_set_link_property(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) { Error *local_err = NULL; LinkProperty *prop = opaque; -- 2.9.4