X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/72a12576750f52947eb043106ba5c12c0d07decf..b1ab9ed8d0e0f1c3b66d7daa8fd5564444c56195:/libsecurity_transform/lib/NullTransform.cpp diff --git a/libsecurity_transform/lib/NullTransform.cpp b/libsecurity_transform/lib/NullTransform.cpp new file mode 100644 index 00000000..4db1a700 --- /dev/null +++ b/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(); +} +