• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/Security-57031.1.35/Security/libsecurity_transform/lib/

Lines Matching defs:ta

32 	transform_attribute *ta = ah2ta(static_cast<SecTransformAttributeRef>(const_cast<void*>(v)));
33 return CFStringCreateWithFormat(NULL, NULL, CFSTR("%@/%@=%@ (conn: %@)"), ta->transform->GetName(), ta->name, ta->value ? ta->value : CFSTR("NULL"), ta->connections ? static_cast<CFTypeRef>(ta->connections) : static_cast<CFTypeRef>(CFSTR("NONE")));
37 transform_attribute *ta = ah2ta(ah);
38 return CFStringCreateWithFormat(NULL, NULL, CFSTR("%@/%@"), ta->transform->GetName(), ta->name);
42 transform_attribute *ta = ah2ta(ah);
43 return CFStringCreateWithFormat(NULL, NULL, CFSTR("%@/%@ (%p)"), ta->transform->GetName(), ta->name, ta);
48 transform_attribute *ta = ah2ta(ah);
49 if (!ta)
54 if (ta->transform)
62 if (ta->value)
64 CFRelease(ta->value);
67 // ta->q already released
69 if (ta->connections)
71 CFRelease(ta->connections);
74 if (ta->semaphore)
76 dispatch_release(ta->semaphore);
79 if (ta->attribute_changed_block)
81 Block_release(ta->attribute_changed_block);
84 if (ta->attribute_validate_block)
86 Block_release(ta->attribute_validate_block);
89 free(ta);
104 SecTransformAttributeRef Transform::makeAH(transform_attribute *ta) {
105 if (ta) {
110 *(struct transform_attribute **)(1 + (CFRuntimeBase*)ah) = ta;
184 transform_attribute *ta = static_cast<transform_attribute *>(malloc(sizeof(transform_attribute)));
185 ah = makeAH(ta);
191 ta->name = CFStringCreateCopy(NULL, label);
192 if (!ta->name)
194 free(ta);
201 CFRelease(ta->name);
202 free(ta);
211 ta->q = dispatch_queue_create((char*)qnbuf, NULL);
213 ta->semaphore = dispatch_semaphore_create(kMaxPendingTransactions);
216 ta->pushback_state = transform_attribute::pb_empty;
217 ta->pushback_value = NULL;
218 ta->value = NULL;
219 ta->connections = NULL;
220 ta->transform = this;
222 dispatch_set_target_queue(ta->q, mDispatchQueue);
223 ta->required = 0;
224 ta->requires_outbound_connection = 0;
225 ta->deferred = 0;
226 ta->stream = 0;
227 ta->ignore_while_externalizing = 0;
228 ta->has_incoming_connection = 0;
229 ta->direct_error_handling = 0;
230 ta->allow_external_sets = 0;
231 ta->has_been_deferred = 0;
232 ta->attribute_changed_block = NULL;
233 ta->attribute_validate_block = NULL;
374 transform_attribute *ta = ah2ta(AbortAH);
375 ta->ignore_while_externalizing = 1;
386 ta = getTA(kSecTransformInputAttributeName, true);
387 ta->required = ta->deferred = ta->stream = 1;
388 ta->allow_external_sets = 0;
389 ta->value = NULL;
390 ta->has_been_deferred = 0;
391 ta = getTA(kSecTransformOutputAttributeName, true);
392 ta->requires_outbound_connection = ta->stream = 1;
421 transform_attribute *ta = ah2ta(ah);
423 set_dispatch_finalizer(ta->q, ^{
425 ta->transform = NULL;
429 if (__sync_bool_compare_and_swap(&ta->pushback_state, transform_attribute::pb_value, transform_attribute::pb_discard)) {
430 dispatch_resume(ta->q);
432 dispatch_release(ta->q);
512 transform_attribute *ta = ah2ta(ah);
516 ta->required = CFBooleanGetValue((CFBooleanRef)value) ? 1 : 0;
520 ta->requires_outbound_connection = CFBooleanGetValue((CFBooleanRef)value) ? 1 : 0;
524 ta->deferred = CFBooleanGetValue((CFBooleanRef)value) ? 1 : 0;
528 ta->stream = CFBooleanGetValue((CFBooleanRef)value) ? 1 : 0;
541 ta->ignore_while_externalizing = CFBooleanGetValue((CFBooleanRef)value) ? 0 : 1;
562 transform_attribute *ta = ah2ta(ah);
565 return (CFTypeRef)(ta->required ? kCFBooleanTrue : kCFBooleanFalse);
567 return (CFTypeRef)(ta->requires_outbound_connection ? kCFBooleanTrue : kCFBooleanFalse);
569 return (CFTypeRef)(ta->deferred ? kCFBooleanTrue : kCFBooleanFalse);
571 return (CFTypeRef)(ta->stream ? kCFBooleanTrue : kCFBooleanFalse);
573 return (CFTypeRef)((ta->connections && CFArrayGetCount(ta->connections)) ? kCFBooleanTrue : kCFBooleanFalse);
575 return (CFTypeRef)(ta->has_incoming_connection ? kCFBooleanTrue : kCFBooleanFalse);
579 return (CFTypeRef)(ta->ignore_while_externalizing ? kCFBooleanFalse : kCFBooleanTrue);
583 return ta->value;
585 return ta->name;
826 transform_attribute *ta = ah2ta(ah);
828 if (ah == AbortAH && value && (mIsActive || !ta->deferred))
836 if (!ta->has_been_deferred)
842 CFStringRef name = ta->name;
848 ta->has_been_deferred = 1;
851 else if (ta->deferred && !mIsActive)
853 if (ta->deferred)
859 ta->has_been_deferred = 1;
869 ta->has_been_deferred = 0;
873 if (ta->value != value) {
877 if (ta->value) {
878 CFRelease(ta->value);
882 ta->value = value;
886 if (ta->connections && mIsActive && do_propagate && !(mAbortError || mIsFinalizing))
888 Debug("Propagating from %@ to %@\n", ah, ta->connections);
889 CFIndex i, numConnections = CFArrayGetCount(ta->connections);
891 SecTransformAttributeRef ah = static_cast<SecTransformAttributeRef>(const_cast<void *>(CFArrayGetValueAtIndex(ta->connections, i)));
980 transform_attribute *ta = ah2ta(ah);
985 dispatch_semaphore_signal(ta->semaphore);
998 dispatch_async(ta->q, set);
1002 dispatch_sync(ta->q, set);
1004 if (dispatch_semaphore_wait(ta->semaphore, dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC))) {
1006 dispatch_semaphore_wait(ta->semaphore, DISPATCH_TIME_FOREVER);
1030 struct transform_attribute *ta = getTA(key, false);
1031 if (ta == NULL || ta->value == NULL) {
1035 if (CFGetTypeID(ta->value) == internalID)
1038 Source* source = (Source*) CoreFoundationHolder::ObjectFromCFType(ta->value);
1043 return ta->value;
1050 transform_attribute *ta = ah2ta(ah);
1051 if (!(ta->pushback_state == transform_attribute::pb_empty || ta->pushback_state == transform_attribute::pb_repush))
1057 if (value == NULL && ta->pushback_value == NULL && ta->pushback_state == transform_attribute::pb_repush)
1059 ta->pushback_state = transform_attribute::pb_presented_once;
1062 ta->pushback_state = transform_attribute::pb_value;
1068 ta->pushback_value = value;
1069 dispatch_suspend(ta->q);
1091 transform_attribute *ta = ah2ta(ah);
1092 ta->pushback_state = transform_attribute::pb_repush;
1093 CFTypeRef v = ta->pushback_value;
1094 ta->pushback_value = NULL;
1100 if (ta->pushback_state == transform_attribute::pb_repush) {
1101 ta->pushback_state = transform_attribute::pb_empty;
1107 dispatch_resume(ta->q);
1181 transform_attribute *ta = ah2ta(ah);
1182 if (ta->pushback_state == transform_attribute::pb_discard)
1186 (void)transforms_assume(dispatch_get_current_queue() == ((ta->pushback_state == transform_attribute::pb_repush) ? mDispatchQueue : ta->q));
1210 if (mIsActive || (mAlwaysSelfNotify && !ta->deferred))
1353 transform_attribute *ta = static_cast<transform_attribute *>(ah2ta(const_cast<void *>(v)));
1354 if (ta->value && internalID == CFGetTypeID(ta->value)) {
1355 Source* s = (Source*) CoreFoundationHolder::ObjectFromCFType(ta->value);
1404 transform_attribute *ta = attributes[i];
1405 if (ta->required && ta->value == NULL && !ta->has_incoming_connection) {
1409 CFArrayAppendValue(still_need, ta->name);
1426 transform_attribute *ta = attributes[i];
1427 CFIndex arraySize = ta->connections ? CFArrayGetCount(ta->connections) : 0;
1428 if (arraySize == 0 && ta->requires_outbound_connection)
1430 if (CFStringCompare(ta->name, kSecTransformOutputAttributeName, 0) == kCFCompareEqualTo) {
1435 return CreateSecTransformErrorRef(kSecTransformErrorMoreThanOneOutput, "Both %@ and %@ have loose outputs, attach one to something", outputAttached, ta->transform->GetName());
1443 outputAttached = ta->transform->GetName();
1451 return CreateSecTransformErrorRef(kSecTransformErrorNotInitializedCorrectly, "Attribute %@ (in %@) requires an outbound connection and doesn't have one", ta->name, GetName());
1613 transform_attribute *ta = attrs[i];
1614 if (!ta->ignore_while_externalizing)
1616 names[j] = ta->name;
1617 values[j++] = GetAHDictForSaveState(ta->name);
1625 transform_attribute *ta = attrs[i];
1626 if (!ta->ignore_while_externalizing)
1811 transform_attribute *ta = ah2ta((SecTransformAttributeRef)CFArrayGetValueAtIndex(attributes[i]->connections, j));
1813 if (!ta->transform->IsExternalizable()) {
1824 CFDictionaryAddValue(connection, EXTERN_TRANSFORM_TO_NAME, ta->transform->GetName());
1825 CFDictionaryAddValue(connection, EXTERN_TRANSFORM_TO_ATTRIBUTE, ta->name);