[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 1/7] qom: Make link property API public
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v2 1/7] qom: Make link property API public |
Date: |
Thu, 29 Jun 2017 16:04:46 +0800 |
The get/set pair and the struct will be reused by qdev link prop, make
them public.
Signed-off-by: Fam Zheng <address@hidden>
---
include/qom/link-property.h | 31 +++++++++++++++++++++++++++++++
qom/object.c | 19 +++++++------------
2 files changed, 38 insertions(+), 12 deletions(-)
create mode 100644 include/qom/link-property.h
diff --git a/include/qom/link-property.h b/include/qom/link-property.h
new file mode 100644
index 0000000..f3c3816
--- /dev/null
+++ b/include/qom/link-property.h
@@ -0,0 +1,31 @@
+/*
+ * QOM link property
+ *
+ * Copyright IBM, Corp. 2011
+ *
+ * Authors:
+ * Anthony Liguori <address@hidden>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#ifndef QOM_LINK_PROPERTY_H
+#define QOM_LINK_PROPERTY_H
+
+#include "qom/object.h"
+
+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..fdb8f0d 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -28,6 +28,7 @@
#include "qapi/qmp/qobject.h"
#include "qapi/qmp/qbool.h"
#include "qapi/qmp/qstring.h"
+#include "qom/link-property.h"
#define MAX_INTERFACES 32
@@ -1434,15 +1435,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 +1493,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
- [Qemu-devel] [PATCH v2 0/7] qdev: Introduce DEFINE_PROP_LINK, Fam Zheng, 2017/06/29
- [Qemu-devel] [PATCH v2 1/7] qom: Make link property API public,
Fam Zheng <=
- [Qemu-devel] [PATCH v2 2/7] qom: Handle property lookup failure in object_resolve_link, Fam Zheng, 2017/06/29
- [Qemu-devel] [PATCH v2 3/7] qdev: Introduce PropertyInfo.create, Fam Zheng, 2017/06/29
- [Qemu-devel] [PATCH v2 5/7] virtio-blk: Use DEFINE_PROP_LINK, Fam Zheng, 2017/06/29
- [Qemu-devel] [PATCH v2 6/7] virtio-scsi: Use DEFINE_PROP_LINK, Fam Zheng, 2017/06/29
- [Qemu-devel] [PATCH v2 4/7] qdev: Introduce DEFINE_PROP_LINK, Fam Zheng, 2017/06/29
- [Qemu-devel] [PATCH v2 7/7] virtio-rng: Use DEFINE_PROP_LINK, Fam Zheng, 2017/06/29