def test_functions(self): self.assertIsInstance(Security.CMSDecoderGetTypeID(), (int, long)) self.assertResultHasType(Security.CMSDecoderCreate, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCreate, 0, objc._C_OUT + objc._C_PTR + objc._C_ID) self.assertArgIsCFRetained(Security.CMSDecoderCreate, 0) self.assertResultHasType(Security.CMSDecoderUpdateMessage, objc._C_INT) self.assertArgHasType(Security.CMSDecoderUpdateMessage, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderUpdateMessage, 1, objc._C_IN + objc._C_PTR + objc._C_VOID) self.assertArgSizeInArg(Security.CMSDecoderUpdateMessage, 1, 2) self.assertArgHasType(Security.CMSDecoderUpdateMessage, 2, objc._C_ULNG) self.assertResultHasType(Security.CMSDecoderFinalizeMessage, objc._C_INT) self.assertArgHasType(Security.CMSDecoderFinalizeMessage, 0, objc._C_ID) self.assertResultHasType(Security.CMSDecoderSetDetachedContent, objc._C_INT) self.assertArgHasType(Security.CMSDecoderSetDetachedContent, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderSetDetachedContent, 1, objc._C_ID) self.assertResultHasType(Security.CMSDecoderCopyDetachedContent, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCopyDetachedContent, 0, objc._C_ID) self.assertArgHasType( Security.CMSDecoderCopyDetachedContent, 1, objc._C_OUT + objc._C_PTR + objc._C_ID, ) self.assertArgIsCFRetained(Security.CMSDecoderCopyDetachedContent, 1) self.assertResultHasType(Security.CMSDecoderSetSearchKeychain, objc._C_INT) self.assertArgHasType(Security.CMSDecoderSetSearchKeychain, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderSetSearchKeychain, 1, objc._C_ID) self.assertResultHasType(Security.CMSDecoderGetNumSigners, objc._C_INT) self.assertArgHasType(Security.CMSDecoderGetNumSigners, 0, objc._C_ID) self.assertArgHasType( Security.CMSDecoderGetNumSigners, 1, objc._C_OUT + objc._C_PTR + objc._C_ULNG, ) self.assertResultHasType(Security.CMSDecoderCopySignerStatus, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCopySignerStatus, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderCopySignerStatus, 1, objc._C_ULNG) self.assertArgHasType(Security.CMSDecoderCopySignerStatus, 2, objc._C_ID) self.assertArgHasType(Security.CMSDecoderCopySignerStatus, 3, objc._C_NSBOOL) self.assertArgHasType( Security.CMSDecoderCopySignerStatus, 4, objc._C_OUT + objc._C_PTR + objc._C_UINT, ) self.assertArgHasType( Security.CMSDecoderCopySignerStatus, 5, objc._C_OUT + objc._C_PTR + objc._C_INT, ) self.assertResultHasType(Security.CMSDecoderGetNumSigners, objc._C_INT) self.assertArgHasType(Security.CMSDecoderGetNumSigners, 0, objc._C_ID) self.assertArgHasType( Security.CMSDecoderGetNumSigners, 1, objc._C_OUT + objc._C_PTR + objc._C_ULNG, ) self.assertResultHasType(Security.CMSDecoderCopySignerCert, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCopySignerCert, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderCopySignerCert, 1, objc._C_ULNG) self.assertArgHasType(Security.CMSDecoderCopySignerCert, 2, objc._C_OUT + objc._C_PTR + objc._C_ID) self.assertArgIsCFRetained(Security.CMSDecoderCopySignerCert, 2) self.assertResultHasType(Security.CMSDecoderIsContentEncrypted, objc._C_INT) self.assertArgHasType(Security.CMSDecoderIsContentEncrypted, 0, objc._C_ID) self.assertArgHasType( Security.CMSDecoderIsContentEncrypted, 1, objc._C_OUT + objc._C_PTR + objc._C_NSBOOL, ) self.assertResultHasType( Security.CMSDecoderCopyEncapsulatedContentType, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCopyEncapsulatedContentType, 0, objc._C_ID) self.assertArgHasType( Security.CMSDecoderCopyEncapsulatedContentType, 1, objc._C_OUT + objc._C_PTR + objc._C_ID, ) self.assertArgIsCFRetained( Security.CMSDecoderCopyEncapsulatedContentType, 1) self.assertResultHasType(Security.CMSDecoderCopyAllCerts, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCopyAllCerts, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderCopyAllCerts, 1, objc._C_OUT + objc._C_PTR + objc._C_ID) self.assertArgIsCFRetained(Security.CMSDecoderCopyAllCerts, 1) self.assertResultHasType(Security.CMSDecoderCopyContent, objc._C_INT) self.assertArgHasType(Security.CMSDecoderCopyContent, 0, objc._C_ID) self.assertArgHasType(Security.CMSDecoderCopyContent, 1, objc._C_OUT + objc._C_PTR + objc._C_ID) self.assertArgIsCFRetained(Security.CMSDecoderCopyContent, 1)