Lines Matching defs:condition
43 IAM_STATIC bool IsExecutorIdMatchById(const void *data, const void *condition)
45 if ((condition == NULL) || (data == NULL)) {
49 uint64_t executorIndex = *(const uint64_t *)condition;
54 IAM_STATIC bool IsExecutorNodeMatch(const void *data, const void *condition)
56 if ((condition == NULL) || (data == NULL)) {
60 const ExecutorInfoHal *executorIndex = (const ExecutorInfoHal *)condition;
139 ExecutorCondition condition = {};
140 SetExecutorConditionAuthType(&condition, executorInfo->authType);
141 SetExecutorConditionSensorHint(&condition, executorInfo->executorSensorHint);
142 SetExecutorConditionExecutorRole(&condition, executorInfo->executorRole);
144 SetExecutorConditionDeviceUdid(&condition, udid);
145 return QueryExecutor(&condition);
226 IAM_STATIC bool IsExecutorMatch(const ExecutorCondition *condition, const ExecutorInfoHal *credentialInfo)
228 if ((condition->conditonFactor & EXECUTOR_CONDITION_INDEX) != 0 &&
229 condition->executorIndex != credentialInfo->executorIndex) {
232 if ((condition->conditonFactor & EXECUTOR_CONDITION_AUTH_TYPE) != 0 &&
233 condition->authType != credentialInfo->authType) {
236 if ((condition->conditonFactor & EXECUTOR_CONDITION_SENSOR_HINT) != 0 &&
237 condition->executorSensorHint != INVALID_SENSOR_HINT &&
238 condition->executorSensorHint != credentialInfo->executorSensorHint) {
241 if ((condition->conditonFactor & EXECUTOR_CONDITION_ROLE) != 0 &&
242 condition->executorRole != credentialInfo->executorRole) {
245 if ((condition->conditonFactor & EXECUTOR_CONDITION_MATCHER) != 0 &&
246 condition->executorMatcher != credentialInfo->executorMatcher) {
249 if ((condition->conditonFactor & EXECUTOR_CONDITION_UDID) != 0 &&
250 memcmp(condition->deviceUdid, credentialInfo->deviceUdid, UDID_LEN) != 0) {
256 LinkedList *QueryExecutor(const ExecutorCondition *condition)
280 if (!IsExecutorMatch(condition, executorInfo)) {
363 void SetExecutorConditionExecutorIndex(ExecutorCondition *condition, uint64_t executorIndex)
365 if (condition == NULL) {
366 LOG_ERROR("condition is null");
369 condition->executorIndex = executorIndex;
370 condition->conditonFactor |= EXECUTOR_CONDITION_INDEX;
373 void SetExecutorConditionAuthType(ExecutorCondition *condition, uint32_t authType)
375 if (condition == NULL) {
376 LOG_ERROR("condition is null");
379 condition->authType = authType;
380 condition->conditonFactor |= EXECUTOR_CONDITION_AUTH_TYPE;
383 void SetExecutorConditionSensorHint(ExecutorCondition *condition, uint32_t executorSensorHint)
385 if (condition == NULL) {
386 LOG_ERROR("condition is null");
389 condition->executorSensorHint = executorSensorHint;
390 condition->conditonFactor |= EXECUTOR_CONDITION_SENSOR_HINT;
393 void SetExecutorConditionExecutorRole(ExecutorCondition *condition, uint32_t executorRole)
395 if (condition == NULL) {
396 LOG_ERROR("condition is null");
399 condition->executorRole = executorRole;
400 condition->conditonFactor |= EXECUTOR_CONDITION_ROLE;
403 void SetExecutorConditionExecutorMatcher(ExecutorCondition *condition, uint32_t executorMatcher)
405 if (condition == NULL) {
406 LOG_ERROR("condition is null");
409 condition->executorMatcher = executorMatcher;
410 condition->conditonFactor |= EXECUTOR_CONDITION_MATCHER;
413 void SetExecutorConditionDeviceUdid(ExecutorCondition *condition, Uint8Array deviceUdid)
415 if (condition == NULL || IS_ARRAY_NULL(deviceUdid)) {
416 LOG_ERROR("condition is null");
419 if (memcpy_s(condition->deviceUdid, UDID_LEN, deviceUdid.data, deviceUdid.len) != EOK) {
423 condition->conditonFactor |= EXECUTOR_CONDITION_UDID;