PROP_OBJECT(3) | Library Functions Manual | PROP_OBJECT(3)

# NAME

`prop_object`, `prop_object_retain`, `prop_object_release`, `prop_object_type`, `prop_object_equals`, `prop_object_iterator_next`, `prop_object_iterator_reset`, `prop_object_iterator_release` —
general property container object functions

# LIBRARY

Property Container Object Library (libprop, -lprop)

# SYNOPSIS

`#include <prop/proplib.h>`

void
`prop_object_retain`(prop_object_t obj);

void
`prop_object_release`(prop_object_t obj);

prop_type_t
`prop_object_type`(prop_object_t obj);

bool
`prop_object_equals`(prop_object_t obj1, prop_object_t obj2);

prop_object_t
`prop_object_iterator_next`(prop_object_iterator_t iter);

void
`prop_object_iterator_reset`(prop_object_iterator_t iter);

void
`prop_object_iterator_release`(prop_object_iterator_t iter);

# DESCRIPTION

The `prop_object`() family of functions operate on all property container object types.

`prop_object_retain`(prop_object_t obj)
  Increment the reference count on an object.
`prop_object_release`(prop_object_t obj)
  Decrement the reference count on an object. If the last reference is dropped, the object is freed.
`prop_object_type`(prop_object_t obj)
  Determine the type of the object. Objects are one of the following types:

  `PROP_TYPE_BOOL`
    Boolean value (prop_bool_t)
  `PROP_TYPE_NUMBER`
    Number (prop_number_t)
  `PROP_TYPE_STRING`
    String (prop_string_t)
  `PROP_TYPE_DATA`
    Opaque data (prop_data_t)
  `PROP_TYPE_ARRAY`
    Array (prop_array_t)
  `PROP_TYPE_DICTIONARY`
    Dictionary (prop_dictionary_t)
  `PROP_TYPE_DICT_KEYSYM`
    Dictionary key symbol (prop_dictionary_keysym_t)

  If obj is `NULL`, then `PROP_TYPE_UNKNOWN` is returned.

`prop_object_equals`(prop_object_t obj1, prop_object_t obj2)
  Returns `true` if the two objects are of the same type and are equivalent.
`prop_object_iterator_next`(prop_object_iterator_t iter)
  Return the next object in the collection (array or dictionary) being iterated by the iterator iter. If there are no more objects in the collection, `NULL` is returned.
`prop_object_iterator_reset`(prop_object_iterator_t iter)
  Reset the iterator to the first object in the collection being iterated by the iterator iter.
`prop_object_iterator_release`(prop_object_iterator_t iter)
  Release the iterator iter.

# SEE ALSO

prop_array(3), prop_bool(3), prop_data(3), prop_dictionary(3), prop_number(3), prop_string(3), proplib(3)

# HISTORY

The proplib(3) property container object library first appeared in NetBSD 4.0.

August 21, 2006 | NetBSD 9.3