| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| /* |
| * pkix_revocationmethod.c |
| * |
| * RevocationMethod Object Functions |
| * |
| */ |
| |
| #include "pkix_revocationmethod.h" |
| #include "pkix_tools.h" |
| |
| /* Constructor of revocation method object. Does not create an object, |
| * but just initializez PKIX_RevocationMethodStruct fields. Object |
| * suppose to be already created. */ |
| PKIX_Error * |
| pkix_RevocationMethod_Init( |
| pkix_RevocationMethod *method, |
| PKIX_RevocationMethodType methodType, |
| PKIX_UInt32 flags, |
| PKIX_UInt32 priority, |
| pkix_LocalRevocationCheckFn localRevChecker, |
| pkix_ExternalRevocationCheckFn externalRevChecker, |
| void *plContext) |
| { |
| PKIX_ENTER(REVOCATIONMETHOD, "PKIX_RevocationMethod_Init"); |
| |
| method->methodType = methodType; |
| method->flags = flags; |
| method->priority = priority; |
| method->localRevChecker = localRevChecker; |
| method->externalRevChecker = externalRevChecker; |
| |
| PKIX_RETURN(REVOCATIONMETHOD); |
| } |
| |
| /* Data duplication data. Not create an object. Only initializes fields |
| * in the new object by data from "object". */ |
| PKIX_Error * |
| pkix_RevocationMethod_Duplicate( |
| PKIX_PL_Object *object, |
| PKIX_PL_Object *newObject, |
| void *plContext) |
| { |
| pkix_RevocationMethod *method = NULL; |
| |
| PKIX_ENTER(REVOCATIONMETHOD, "pkix_RevocationMethod_Duplicate"); |
| PKIX_NULLCHECK_TWO(object, newObject); |
| |
| method = (pkix_RevocationMethod *)object; |
| |
| PKIX_CHECK( |
| pkix_RevocationMethod_Init((pkix_RevocationMethod*)newObject, |
| method->methodType, |
| method->flags, |
| method->priority, |
| method->localRevChecker, |
| method->externalRevChecker, |
| plContext), |
| PKIX_COULDNOTCREATEREVOCATIONMETHODOBJECT); |
| |
| cleanup: |
| |
| PKIX_RETURN(REVOCATIONMETHOD); |
| } |