prop_array_t
prop_array_create(
void
)
prop_array_t
prop_array_create_with_capacity(
unsigned int capacity
)
prop_array_t
prop_array_copy(
prop_array_t array
)
prop_array_t
prop_array_copy_mutable(
prop_array_t array
)
unsigned
int
prop_array_capacity(
prop_array_t array
)
unsigned
int
prop_array_count(
prop_array_t array
)
bool
prop_array_ensure_capacity(
prop_array_t array
, unsigned int capacity
)
prop_object_iterator_t
prop_array_iterator(
prop_array_t array
)
void
prop_array_make_immutable(
prop_array_t array
)
bool
prop_array_mutable(
prop_array_t array
)
prop_object_t
prop_array_get(
prop_array_t array
, unsigned int index
)
bool
prop_array_set(
prop_array_t array
, unsigned int index
, prop_object_t obj
)
bool
prop_array_add(
prop_array_t array
, prop_object_t obj
)
void
prop_array_remove(
prop_array_t array
, unsigned int index
)
char
*
prop_array_externalize(
prop_array_t array
)
prop_array_t
prop_array_internalize(
const char *xml
)
bool
prop_array_externalize_to_file(
prop_array_t array
, const char *path
)
prop_array_t
prop_array_internalize_from_file(
const char *path
)
bool
prop_array_equals(
prop_array_t array1
, prop_array_t array2
)
void
)
NULL
on failure.
unsigned int capacity
)
capacity
objects.
Returns
NULL
on failure.
prop_array_t array
)
NULL
on failure.
prop_array_t array
)
),
except the resulting array is always mutable.
prop_array_t array
)
prop_array_t array
)
prop_array_t array
, unsigned int capacity
)
capacity
,
including objects already stored in the array.
Returns
true
if the capacity of the array is greater or equal to
capacity
or if expansion of the array's capacity was successful
and
false
otherwise.
prop_array_t array
)
NULL
on failure.
prop_array_t array
)
array
immutable.
prop_array_t array
)
true
if the array is mutable.
prop_array_t array
, unsigned int index
)
index
.
Returns
NULL
on failure.
prop_array_t array
, unsigned int index
, prop_object_t obj
)
obj
at the array index
index
.
This function is not allowed to create holes in the array;
the caller must either be setting the object just beyond the existing
count or replacing an already existing object reference.
The object will be retained by the array.
If an existing object reference is being replaced, that object will be
released.
Returns
true
if storing the object was successful and
false
otherwise.
prop_array_t array
, prop_object_t obj
)
obj
to the array, appending to the end and growing the array's capacity if
necessary.
The object will be retained by the array.
Returns
true
if storing the object was successful and
false
otherwise.
During expansion, array's capacity is augmented by the
EXPAND_STEP
constant, as defined in
libprop/prop_array.c
file, e.g.
#define EXPAND_STEP 16
prop_array_t array
, unsigned int index
)
index
.
The object will be released and the array compacted following
the removal.
prop_array_t array1
, prop_array_t array2
)
true
if the two arrays are equivalent.
If at least one of the supplied objects isn't an array,
false
is returned.
Note: Objects contained in the array are compared by value, not by reference.
prop_array_t array
)
NULL
is returned.
In user space, the buffer is allocated using
malloc(3).
In the kernel, the buffer is allocated using
malloc(9)
using the malloc type
M_TEMP
.
const char *xml
)
xml
and return the corresponding array.
Returns
NULL
if parsing fails for any reason.
prop_array_t array
, const char *path
)
path
.
The file is saved with the mode
0666
as modified by the process's file creation mask
(seeumask(3))
and is written atomically.
Returns
false
if externalizing or writing the array fails for any reason.
const char *path
)
path
,
internalizes it, and returns the corresponding array.
Returns
NULL
on failure.