August 21, 2006 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

### SYNOPSIS

```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 property container object library first appeared in NetBSD4.0.