C-sparse
view release on metacpan or search on metacpan
src/sparse-0.4.4/perl/t/include/qom/object.h view on Meta::CPAN
*/
bool object_class_is_abstract(ObjectClass *klass);
/**
* object_class_by_name:
* @typename: The QOM typename to obtain the class for.
*
* Returns: The class for @typename or %NULL if not found.
*/
ObjectClass *object_class_by_name(const char *typename);
void object_class_foreach(void (*fn)(ObjectClass *klass, void *opaque),
const char *implements_type, bool include_abstract,
void *opaque);
/**
* object_class_get_list:
* @implements_type: The type to filter for, including its derivatives.
* @include_abstract: Whether to include abstract classes.
*
* Returns: A singly-linked list of the classes in reverse hashtable order.
*/
GSList *object_class_get_list(const char *implements_type,
bool include_abstract);
/**
* object_ref:
* @obj: the object
*
* Increase the reference count of a object. A object cannot be freed as long
* as its reference count is greater than zero.
*/
void object_ref(Object *obj);
/**
* qdef_unref:
* @obj: the object
*
* Decrease the reference count of a object. A object cannot be freed as long
* as its reference count is greater than zero.
*/
void object_unref(Object *obj);
/**
* object_property_add:
* @obj: the object to add a property to
* @name: the name of the property. This can contain any character except for
* a forward slash. In general, you should use hyphens '-' instead of
* underscores '_' when naming properties.
* @type: the type name of the property. This namespace is pretty loosely
* defined. Sub namespaces are constructed by using a prefix and then
* to angle brackets. For instance, the type 'virtio-net-pci' in the
* 'link' namespace would be 'link<virtio-net-pci>'.
* @get: The getter to be called to read a property. If this is NULL, then
* the property cannot be read.
* @set: the setter to be called to write a property. If this is NULL,
* then the property cannot be written.
* @release: called when the property is removed from the object. This is
* meant to allow a property to free its opaque upon object
* destruction. This may be NULL.
* @opaque: an opaque pointer to pass to the callbacks for the property
* @errp: returns an error if this function fails
*/
void object_property_add(Object *obj, const char *name, const char *type,
ObjectPropertyAccessor *get,
ObjectPropertyAccessor *set,
ObjectPropertyRelease *release,
void *opaque, Error **errp);
void object_property_del(Object *obj, const char *name, Error **errp);
/**
* object_property_find:
* @obj: the object
* @name: the name of the property
* @errp: returns an error if this function fails
*
* Look up a property for an object and return its #ObjectProperty if found.
*/
ObjectProperty *object_property_find(Object *obj, const char *name,
Error **errp);
void object_unparent(Object *obj);
/**
* object_property_get:
* @obj: the object
* @v: the visitor that will receive the property value. This should be an
* Output visitor and the data will be written with @name as the name.
* @name: the name of the property
* @errp: returns an error if this function fails
*
* Reads a property from a object.
*/
void object_property_get(Object *obj, struct Visitor *v, const char *name,
Error **errp);
/**
* object_property_set_str:
* @value: the value to be written to the property
* @name: the name of the property
* @errp: returns an error if this function fails
*
* Writes a string value to a property.
*/
void object_property_set_str(Object *obj, const char *value,
const char *name, Error **errp);
/**
* object_property_get_str:
* @obj: the object
* @name: the name of the property
* @errp: returns an error if this function fails
*
* Returns: the value of the property, converted to a C string, or NULL if
* an error occurs (including when the property value is not a string).
* The caller should free the string.
*/
char *object_property_get_str(Object *obj, const char *name,
Error **errp);
( run in 0.553 second using v1.01-cache-2.11-cpan-39bf76dae61 )