Beispiel #1
0
void
xpc_array_set_uuid(xpc_object_t xarray, size_t index, const uuid_t value)
{
	struct xpc_object *xo, *xotmp;

	xo = xarray;
	xotmp = xpc_uuid_create(value);
	return (xpc_array_set_value(xarray, index, xotmp));
}
Beispiel #2
0
void
xpc_array_set_fd(xpc_object_t xarray, size_t index, int value)
{
	struct xpc_object *xo, *xotmp;

	xo = xarray;
	//xotmp = xpc_fd_create(value);
	return (xpc_array_set_value(xarray, index, xotmp));
}
Beispiel #3
0
void
xpc_array_set_string(xpc_object_t xarray, size_t index, const char *string)
{
	struct xpc_object *xo, *xotmp;

	xo = xarray;
	xotmp = xpc_string_create(string);
	return (xpc_array_set_value(xarray, index, xotmp));
}
Beispiel #4
0
void
xpc_array_set_double(xpc_object_t xarray, size_t index, double value)
{
	struct xpc_object *xo, *xotmp;

	xo = xarray;
	xotmp = xpc_double_create(value);
	return (xpc_array_set_value(xarray, index, xotmp));
}
Beispiel #5
0
void
xpc_array_set_bool(xpc_object_t xarray, size_t index, bool value)
{
	struct xpc_object *xo, *xotmp;

	xo = xarray;
	xotmp = xpc_bool_create(value);
	return (xpc_array_set_value(xarray, index, xotmp));
}
Beispiel #6
0
void
xpc_array_set_data(xpc_object_t xarray, size_t index, const void *data,
    size_t length)
{
	struct xpc_object *xo, *xotmp;

	xo = xarray;
	xotmp = xpc_data_create(data, length);
	return (xpc_array_set_value(xarray, index, xotmp));
}
Beispiel #7
0
xpc_object_t
xpc_copy(xpc_object_t obj)
{
	struct xpc_object *xo, *xotmp;
	const void *newdata;

	xo = obj;
	switch (xo->xo_xpc_type) {
		case _XPC_TYPE_BOOL:
		case _XPC_TYPE_INT64:
		case _XPC_TYPE_UINT64:
		case _XPC_TYPE_DATE:
		case _XPC_TYPE_ENDPOINT:
			return _xpc_prim_create(xo->xo_xpc_type, xo->xo_u, 1);

		case _XPC_TYPE_STRING:
			return xpc_string_create(strdup(
			    xpc_string_get_string_ptr(xo)));

		case _XPC_TYPE_DATA:
			newdata = xpc_data_get_bytes_ptr(obj);
			return (xpc_data_create(newdata,
			    xpc_data_get_length(obj)));

		case _XPC_TYPE_DICTIONARY:
			xotmp = xpc_dictionary_create(NULL, NULL, 0);
			xpc_dictionary_apply(obj, ^(const char *k, xpc_object_t v) {
			    xpc_dictionary_set_value(xotmp, k, xpc_copy(v));
			    return (bool)true;
			});
			return (xotmp);

		case _XPC_TYPE_ARRAY:
			xotmp = xpc_array_create(NULL, 0);
			xpc_array_apply(obj, ^(size_t idx, xpc_object_t v) {
			    xpc_array_set_value(xotmp, idx, xpc_copy(v));
			    return ((bool)true);
			});