int syscommon_resman_get_resource_attr_string(int resource_id, u_int64_t attr_id, char *data);
int syscommon_resman_get_resource_attr_array(int resource_id, u_int64_t attr_id, struct syscommon_resman_array_value **data);
int syscommon_resman_get_resource_attr_ptr(int resource_id, u_int64_t attr_id, void **data);
+int syscommon_resman_get_resource_attr_bool(int resource_id, u_int64_t attr_id, bool *data);
int syscommon_resman_monitor_get_resource_attr_int(int resource_id, u_int64_t attr_id, int32_t *data);
int syscommon_resman_monitor_get_resource_attr_int64(int resource_id, u_int64_t attr_id, int64_t *data);
*(void **) data = attr_value->data;
break;
case SYSCOMMON_RESMAN_DATA_TYPE_BOOLEAN:
+ *(bool *) data = *((bool *) attr_value->data);
+ break;
case SYSCOMMON_RESMAN_DATA_TYPE_NUM:
default:
return -EINVAL;
return get_resource_attr_value_data(resource, attr_id, SYSCOMMON_RESMAN_DATA_TYPE_PTR, data);
}
+int
+syscommon_resman_get_resource_attr_bool(int resource_id, u_int64_t attr_id, bool *data)
+{
+ struct syscommon_resman_resource *resource = find_resource(resource_id);
+ int ret;
+
+ if (!is_valid_resource(resource, INSTANCE_TYPE_NORMAL))
+ return -EINVAL;
+
+ if (!check_attr_validate(resource, attr_id, SYSCOMMON_RESMAN_DATA_TYPE_BOOLEAN))
+ return -EINVAL;
+
+ ret = update_resource_attr(resource, attr_id);
+ if (ret < 0)
+ return ret;
+
+ return get_resource_attr_value_data(resource, attr_id, SYSCOMMON_RESMAN_DATA_TYPE_BOOLEAN, data);
+}
+
int
syscommon_resman_monitor_get_resource_attr_int(int resource_id, u_int64_t attr_id, int32_t *data)
{