X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/80e2389990082500d76eb566d4946be3e786c3ef..d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb:/Security/libsecurity_transform/lib/NullTransform.cpp diff --git a/Security/libsecurity_transform/lib/NullTransform.cpp b/Security/libsecurity_transform/lib/NullTransform.cpp new file mode 100644 index 00000000..4db1a700 --- /dev/null +++ b/Security/libsecurity_transform/lib/NullTransform.cpp @@ -0,0 +1,61 @@ +#include "NullTransform.h" + +NullTransform::NullTransform() : Transform(CFSTR("NullTransform")) +{ +} + + + +CFTypeRef NullTransform::Make() +{ + return CoreFoundationHolder::MakeHolder(gInternalCFObjectName, new NullTransform()); +} + + + +void NullTransform::AttributeChanged(CFStringRef name, CFTypeRef value) +{ + // move input to output, otherwise do nothing + if (CFStringCompare(name, kSecTransformInputAttributeName, 0) == kCFCompareEqualTo) + { + SetAttributeNoCallback(kSecTransformOutputAttributeName, value); + } +} + + + +std::string NullTransform::DebugDescription() +{ + return Transform::DebugDescription() + ": NullTransform"; +} + + + +class NullTransformFactory : public TransformFactory +{ +public: + NullTransformFactory(); + + virtual CFTypeRef Make(); +}; + + + +TransformFactory* NullTransform::MakeTransformFactory() +{ + return new NullTransformFactory(); +} + + + +NullTransformFactory::NullTransformFactory() : TransformFactory(CFSTR("Null Transform")) +{ +} + + + +CFTypeRef NullTransformFactory::Make() +{ + return NullTransform::Make(); +} +