Hi Hung, Reviewed the patch. Ack from me.
Thanks, Zoran -----Original Message----- From: Hung Nguyen [mailto:hung.d.ngu...@dektech.com.au] Sent: Friday, June 24, 2016 1:37 PM To: Zoran Milinkovic <zoran.milinko...@ericsson.com>; reddy.neelaka...@oracle.com Cc: opensaf-devel@lists.sourceforge.net Subject: [PATCH 1 of 1] immtool: Add missing wrappers for IMM APIs [#1891] osaf/libs/common/immsv/include/immutil.h | 125 +++++++++- osaf/tools/safimm/src/immutil.c | 364 +++++++++++++++++++++++++++++++ samples/immsv/immutils/immutil.c | 364 +++++++++++++++++++++++++++++++ samples/immsv/immutils/immutil.h | 125 +++++++++- 4 files changed, 942 insertions(+), 36 deletions(-) Add wrappers for: saImmOiInitialize_o3 saImmOiAugmentCcbInitialize saImmOiObjectImplementerSet saImmOiObjectImplementerSet_o3 saImmOiObjectImplementerRelease saImmOiObjectImplementerRelease_o3 saImmOiRtObjectCreate_o3 saImmOiRtObjectDelete_o3 saImmOiRtObjectUpdate_o3 saImmOmInitialize_o2 saImmOmSelectionObjectGet saImmOmAccessorGet_o3 saImmOmSearchInitialize_o3 saImmOmSearchNext_o3 saImmOmAdminOwnerClear_o3 saImmOmAdminOwnerRelease_o3 saImmOmAdminOwnerSet_o3 saImmOmAdminOperationInvoke_o3 saImmOmAdminOperationInvokeAsync_2 saImmOmAdminOperationInvokeAsync_o3 saImmOmCcbObjectCreate_o3 saImmOmCcbObjectDelete_o3 saImmOmCcbObjectModify_o3 diff --git a/osaf/libs/common/immsv/include/immutil.h b/osaf/libs/common/immsv/include/immutil.h --- a/osaf/libs/common/immsv/include/immutil.h +++ b/osaf/libs/common/immsv/include/immutil.h @@ -424,6 +424,10 @@ EXTERN_C SaAisErrorT immutil_saImmOiInit SaImmOiHandleT *immOiHandle, const SaImmOiCallbacksT_2 *immOiCallbacks, const SaVersionT *version); +EXTERN_C SaAisErrorT immutil_saImmOiInitialize_o3( + SaImmOiHandleT * immOiHandle, const SaImmOiCallbacksT_o3 *immOiCallbacks, + const SaVersionT * version); + EXTERN_C SaAisErrorT immutil_saImmOiSelectionObjectGet( SaImmOiHandleT immOiHandle, SaSelectionObjectT *selectionObject); @@ -433,6 +437,22 @@ EXTERN_C SaAisErrorT immutil_saImmOiClas EXTERN_C SaAisErrorT immutil_saImmOiClassImplementerRelease( SaImmOiHandleT immOiHandle, const char *className); +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerSet( + SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope); + +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerSet_o3( + SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope); + +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerRelease( + SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope); + +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerRelease_o3( + SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope); + EXTERN_C SaAisErrorT immutil_saImmOiImplementerSet( SaImmOiHandleT immOiHandle, const SaImmOiImplementerNameT implementerName); @@ -447,12 +467,19 @@ EXTERN_C SaAisErrorT immutil_saImmOiRtOb SaImmOiHandleT immOiHandle, const SaImmClassNameT className, const char *parentName, const SaImmAttrValuesT_2 **attrValues); +EXTERN_C SaAisErrorT immutil_saImmOiRtObjectCreate_o3( + SaImmOiHandleT immOiHandle, const SaImmClassNameT className, + const char* objectName, const SaImmAttrValuesT_2 **attrValues); + EXTERN_C SaAisErrorT immutil_saImmOiRtObjectDelete(SaImmOiHandleT immOiHandle, const SaNameT *objectName); EXTERN_C SaAisErrorT immutil_saImmOiRtObjectDelete_o2( SaImmOiHandleT immOiHandle, const char *objectName); +EXTERN_C SaAisErrorT immutil_saImmOiRtObjectDelete_o3( + SaImmOiHandleT immOiHandle, const char* objectName); + EXTERN_C SaAisErrorT immutil_saImmOiRtObjectUpdate_2( SaImmOiHandleT immOiHandle, const SaNameT *objectName, const SaImmAttrModificationT_2 **attrMods); @@ -461,6 +488,10 @@ EXTERN_C SaAisErrorT immutil_saImmOiRtOb SaImmOiHandleT immOiHandle, const char *objectName, const SaImmAttrModificationT_2 **attrMods); +EXTERN_C SaAisErrorT immutil_saImmOiRtObjectUpdate_o3( + SaImmOiHandleT immOiHandle, const char* objectName, + const SaImmAttrModificationT_2 **attrMods); + EXTERN_C SaAisErrorT immutil_saImmOiAdminOperationResult( SaImmOiHandleT immOiHandle, SaInvocationT invocation, SaAisErrorT result); @@ -468,12 +499,23 @@ EXTERN_C SaAisErrorT immutil_saImmOiAdmi SaImmOiHandleT immOiHandle, SaInvocationT invocation, SaAisErrorT result, const SaImmAdminOperationParamsT_2 **returnParams); +EXTERN_C SaAisErrorT immutil_saImmOiAugmentCcbInitialize( + SaImmOiHandleT immOiHandle, SaImmOiCcbIdT ccbId64, + SaImmCcbHandleT *ccbHandle, SaImmAdminOwnerHandleT *ownerHandle); + EXTERN_C SaAisErrorT immutil_saImmOmInitialize( SaImmHandleT *immHandle, const SaImmCallbacksT *immCallbacks, const SaVersionT *version); +EXTERN_C SaAisErrorT immutil_saImmOmInitialize_o2( + SaImmHandleT *immHandle, const SaImmCallbacksT_o2 *immCallbacks, + SaVersionT *version); + EXTERN_C SaAisErrorT immutil_saImmOmFinalize(SaImmHandleT immHandle); +EXTERN_C SaAisErrorT immutil_saImmOmSelectionObjectGet( + SaImmHandleT immHandle, SaSelectionObjectT *selectionObject); + EXTERN_C SaAisErrorT immutil_saImmOmAccessorInitialize( SaImmHandleT immHandle, SaImmAccessorHandleT *accessorHandle); @@ -485,6 +527,10 @@ EXTERN_C SaAisErrorT immutil_saImmOmAcce SaImmAccessorHandleT accessorHandle, const char *objectName, const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes); +EXTERN_C SaAisErrorT immutil_saImmOmAccessorGet_o3( + SaImmAccessorHandleT accessorHandle, const char* objectName, + const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes); + EXTERN_C SaAisErrorT immutil_saImmOmAccessorGetConfigAttrs( SaImmAccessorHandleT accessorHandle, const SaNameT *objectName, SaImmAttrValuesT_2 ***attributes); @@ -501,7 +547,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmClas SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className); /** - * Wrapper for saImmOmSearchInitialize_2/o2 The SA_AIS_ERR_NOT_EXIST error code + * Wrapper for saImmOmSearchInitialize_2/_o2/_o3 The SA_AIS_ERR_NOT_EXIST error code * is not considered an error and is always returned even if "errorsAreFatal" is * set. */ @@ -521,6 +567,12 @@ immutil_saImmOmSearchInitialize_o2(SaImm const SaImmAttrNameT *attributeNames, SaImmSearchHandleT *searchHandle); +EXTERN_C SaAisErrorT +immutil_saImmOmSearchInitialize_o3(SaImmHandleT immHandle, const char* rootName, + SaImmScopeT scope, SaImmSearchOptionsT searchOptions, + const SaImmSearchParametersT_2 *searchParam, const SaImmAttrNameT *attributeNames, + SaImmSearchHandleT *searchHandle); + /** * Wrapper for saImmOmSearchFinalize */ @@ -528,7 +580,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmSearchFinalize(SaImmSearchHandleT searchHandle); /** - * Wrapper for saImmOmSearchNext_2/o2 The SA_AIS_ERR_NOT_EXIST error code is not + * Wrapper for saImmOmSearchNext_2/o2/_o3 The SA_AIS_ERR_NOT_EXIST error code is not * considered an error and is always returned even if "errorsAreFatal" is set. */ EXTERN_C SaAisErrorT @@ -540,8 +592,12 @@ EXTERN_C SaAisErrorT immutil_saImmOmSearchNext_o2(SaImmSearchHandleT searchHandle, char **objectName, SaImmAttrValuesT_2 ***attributes); +EXTERN_C SaAisErrorT +immutil_saImmOmSearchNext_o3(SaImmSearchHandleT searchHandle, char** objectName, + SaImmAttrValuesT_2 ***attributes); + /** - * Wrapper for saImmOmAdminOwnerClear/_o2 + * Wrapper for saImmOmAdminOwnerClear/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerClear(SaImmHandleT immHandle, @@ -551,6 +607,10 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerClear_o2(SaImmHandleT immHandle, const char **objectNames, SaImmScopeT scope); +EXTERN_C SaAisErrorT +immutil_saImmOmAdminOwnerClear_o3(SaImmHandleT immHandle, + const char** objectNames, SaImmScopeT scope); + /** * Wrapper for saImmOiFinalize */ @@ -597,7 +657,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmCcbA EXTERN_C SaAisErrorT immutil_saImmOmCcbValidate(SaImmCcbHandleT immCcbHandle); /** - * Wrapper for saImmOmAdminOwnerSet/_o2 + * Wrapper for saImmOmAdminOwnerSet/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerSet( SaImmAdminOwnerHandleT ownerHandle, const SaNameT** name, @@ -606,8 +666,12 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerSet_o2( SaImmAdminOwnerHandleT ownerHandle, const char ** name, SaImmScopeT scope); +EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerSet_o3( + SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope); + /** - * Wrapper for saImmOmAdminOwnerRelease/_o2 + * Wrapper for saImmOmAdminOwnerRelease/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerRelease( SaImmAdminOwnerHandleT ownerHandle, const SaNameT** name, @@ -616,6 +680,10 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerRelease_o2( SaImmAdminOwnerHandleT ownerHandle, const char ** name, SaImmScopeT scope); +EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerRelease_o3( + SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope); + /** * Wrapper for saImmOmAdminOperationInvoke_o2 */ @@ -637,7 +705,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi SaImmAdminOperationParamsT_2 ***returnParams); /** - * Wrapper for saImmOmAdminOperationInvoke_2 + * Wrapper for saImmOmAdminOperationInvoke_2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvoke_2( SaImmAdminOwnerHandleT ownerHandle, const SaNameT *objectName, @@ -645,46 +713,67 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi const SaImmAdminOperationParamsT_2 **params, SaAisErrorT *operationReturnValue, SaTimeT timeout); +EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvoke_o3( + SaImmAdminOwnerHandleT ownerHandle, const char* objectName, + SaImmContinuationIdT continuationId, SaImmAdminOperationIdT operationId, + const SaImmAdminOperationParamsT_2 **params, SaAisErrorT *operationReturnValue, + SaTimeT timeout, SaImmAdminOperationParamsT_2 ***returnParams); + /** - * Wrapper for saImmOmCcbObjectCreate_2 + * Wrapper for saImmOmAdminOperationInvokeAsync_2/_o3 + */ +EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_2( + SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const SaNameT *objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params); + +EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_o3( + SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const char* objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params); + +/** + * Wrapper for saImmOmCcbObjectCreate_2/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectCreate_2( SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const SaNameT *parent, const SaImmAttrValuesT_2** attrValues); -/** - * Wrapper for saImmOmCcbObjectCreate_o2 - */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectCreate_o2( SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const char *parent, const SaImmAttrValuesT_2** attrValues); +EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectCreate_o3( + SaImmCcbHandleT ccbHandle, const char* className, + const char* const objectName, const SaImmAttrValuesT_2 **attrValues); + /** - * Wrapper for saImmOmCcbObjectModify_2 + * Wrapper for saImmOmCcbObjectModify_2/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectModify_2( SaImmCcbHandleT immCcbHandle, const SaNameT *objectName, const SaImmAttrModificationT_2** attrMods); -/** - * Wrapper for saImmOmCcbObjectModify_o2 - */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectModify_o2( SaImmCcbHandleT immCcbHandle, const char *objectName, const SaImmAttrModificationT_2** attrMods); +EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectModify_o3( + SaImmCcbHandleT ccbHandle, const char* objectName, + const SaImmAttrModificationT_2 **attrMods); + /** - * Wrapper for saImmOmCcbObjectDelete + * Wrapper for saImmOmCcbObjectDelete/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectDelete( SaImmCcbHandleT immCcbHandle, const SaNameT *objectName); -/** - * Wrapper for saImmOmCcbObjectDelete_o2 - */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectDelete_o2( SaImmCcbHandleT immCcbHandle, const char *objectName); +EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectDelete_o3( + SaImmCcbHandleT ccbHandle, const char* objectName); + /** * Wrapper for saImmOmCcbObjectRead */ diff --git a/osaf/tools/safimm/src/immutil.c b/osaf/tools/safimm/src/immutil.c --- a/osaf/tools/safimm/src/immutil.c +++ b/osaf/tools/safimm/src/immutil.c @@ -1134,6 +1134,26 @@ SaAisErrorT immutil_saImmOiInitialize_2( return rc; } +SaAisErrorT immutil_saImmOiInitialize_o3(SaImmOiHandleT * immOiHandle, const SaImmOiCallbacksT_o3 *immOiCallbacks, + const SaVersionT * version) +{ + /* Version parameter is in/out i.e. must be mutable and should not be + re-used from previous call in a retry loop. */ + SaVersionT localVer = *version; + + SaAisErrorT rc = saImmOiInitialize_o3(immOiHandle, immOiCallbacks, &localVer); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + localVer = *version; + rc = saImmOiInitialize_o3(immOiHandle, immOiCallbacks, &localVer); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError("saImmOiInitialize_o3 FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiSelectionObjectGet(SaImmOiHandleT immOiHandle, SaSelectionObjectT * selectionObject) @@ -1195,6 +1215,66 @@ SaAisErrorT immutil_saImmOiClassImplemen return rc; } +SaAisErrorT immutil_saImmOiObjectImplementerSet(SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerSet(immOiHandle, objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerSet(immOiHandle, objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOiObjectImplementerSet_o3(SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerSet_o3(immOiHandle, (SaConstStringT) objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerSet_o3(immOiHandle, (SaConstStringT) objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOiObjectImplementerRelease(SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerRelease(immOiHandle, objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerRelease(immOiHandle, objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOiObjectImplementerRelease_o3(SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerRelease_o3(immOiHandle, (SaConstStringT) objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerRelease_o3(immOiHandle, (SaConstStringT) objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiImplementerSet(SaImmOiHandleT immOiHandle, const SaImmOiImplementerNameT implementerName) @@ -1269,6 +1349,21 @@ SaAisErrorT immutil_saImmOiRtObjectCreat return rc; } +SaAisErrorT immutil_saImmOiRtObjectCreate_o3(SaImmOiHandleT immOiHandle, const SaImmClassNameT className, + const char* objectName, const SaImmAttrValuesT_2 **attrValues) +{ + SaAisErrorT rc = saImmOiRtObjectCreate_o3(immOiHandle, className, (SaConstStringT) objectName, attrValues); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiRtObjectCreate_o3(immOiHandle, className, (SaConstStringT) objectName, attrValues); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiRtObjectDelete(SaImmOiHandleT immOiHandle, const SaNameT * objectName) { @@ -1298,6 +1393,20 @@ SaAisErrorT immutil_saImmOiRtObjectDelet return rc; } +SaAisErrorT immutil_saImmOiRtObjectDelete_o3(SaImmOiHandleT immOiHandle, const char* objectName) +{ + SaAisErrorT rc = saImmOiRtObjectDelete_o3(immOiHandle, (SaConstStringT) objectName); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiRtObjectDelete_o3(immOiHandle, (SaConstStringT) objectName); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiRtObjectUpdate_2(SaImmOiHandleT immOiHandle, const SaNameT * objectName, const SaImmAttrModificationT_2 ** @@ -1334,6 +1443,20 @@ SaAisErrorT immutil_saImmOiRtObjectUpdat return rc; } +SaAisErrorT immutil_saImmOiRtObjectUpdate_o3(SaImmOiHandleT immOiHandle, const char* objectName, const SaImmAttrModificationT_2 **attrMods) +{ + SaAisErrorT rc = saImmOiRtObjectUpdate_o3(immOiHandle, (SaConstStringT) objectName, attrMods); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiRtObjectUpdate_o3(immOiHandle, (SaConstStringT) objectName, attrMods); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiAdminOperationResult(SaImmOiHandleT immOiHandle, SaInvocationT invocation, SaAisErrorT result) @@ -1378,6 +1501,21 @@ SaAisErrorT immutil_saImmOiAdminOperatio return rc; } +SaAisErrorT immutil_saImmOiAugmentCcbInitialize(SaImmOiHandleT immOiHandle, SaImmOiCcbIdT ccbId64, + SaImmCcbHandleT *ccbHandle, SaImmAdminOwnerHandleT *ownerHandle) +{ + SaAisErrorT rc = saImmOiAugmentCcbInitialize(immOiHandle, ccbId64, ccbHandle, ownerHandle); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiAugmentCcbInitialize(immOiHandle, ccbId64, ccbHandle, ownerHandle); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError("saImmOiAugmentCcbInitialize FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmInitialize(SaImmHandleT * immHandle, const SaImmCallbacksT * immCallbacks, const SaVersionT * version) @@ -1400,6 +1538,40 @@ SaAisErrorT immutil_saImmOmInitialize(Sa return rc; } +SaAisErrorT immutil_saImmOmInitialize_o2(SaImmHandleT *immHandle, const SaImmCallbacksT_o2 *immCallbacks, + SaVersionT *version) +{ + /* Version parameter is in/out i.e. must be mutable and should not be + re-used from previous call in a retry loop. */ + SaVersionT localVer = *version; + + SaAisErrorT rc = saImmOmInitialize_o2(immHandle, immCallbacks, &localVer); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + localVer = *version; + rc = saImmOmInitialize_o2(immHandle, immCallbacks, &localVer); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOmSelectionObjectGet(SaImmHandleT immHandle, SaSelectionObjectT *selectionObject) +{ + SaAisErrorT rc = saImmOmSelectionObjectGet(immHandle, selectionObject); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmSelectionObjectGet(immHandle, selectionObject); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmFinalize(SaImmHandleT immHandle) { SaAisErrorT rc = saImmOmFinalize(immHandle); @@ -1472,6 +1644,21 @@ SaAisErrorT immutil_saImmOmAccessorGet_o return rc; } +SaAisErrorT immutil_saImmOmAccessorGet_o3(SaImmAccessorHandleT accessorHandle, const char* objectName, + const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes) +{ + SaAisErrorT rc = saImmOmAccessorGet_o3(accessorHandle, (SaConstStringT) objectName, attributeNames, attributes); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAccessorGet_o3(accessorHandle, (SaConstStringT) objectName, attributeNames, attributes); + nTries++; + } + if (rc != SA_AIS_OK && rc != SA_AIS_ERR_NOT_EXIST && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAccessorGetConfigAttrs(SaImmAccessorHandleT accessorHandle, const SaNameT * objectName, @@ -1588,6 +1775,27 @@ SaAisErrorT immutil_saImmOmSearchInitial return rc; } +SaAisErrorT immutil_saImmOmSearchInitialize_o3(SaImmHandleT immHandle, const char* rootName, + SaImmScopeT scope, SaImmSearchOptionsT searchOptions, + const SaImmSearchParametersT_2 *searchParam, const SaImmAttrNameT *attributeNames, + SaImmSearchHandleT *searchHandle) +{ + SaAisErrorT rc = saImmOmSearchInitialize_o3(immHandle, (SaConstStringT) rootName, scope,searchOptions, + searchParam, attributeNames, searchHandle); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmSearchInitialize_o3(immHandle, (SaConstStringT) rootName, scope, searchOptions, + searchParam, attributeNames, searchHandle); + nTries++; + } + if (rc == SA_AIS_ERR_NOT_EXIST) + return rc; + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmSearchFinalize(SaImmSearchHandleT searchHandle) { SaAisErrorT rc = saImmOmSearchFinalize(searchHandle); @@ -1642,6 +1850,23 @@ SaAisErrorT immutil_saImmOmSearchNext_o2 return rc; } +SaAisErrorT immutil_saImmOmSearchNext_o3(SaImmSearchHandleT searchHandle, char** objectName, + SaImmAttrValuesT_2 ***attributes) +{ + SaAisErrorT rc = saImmOmSearchNext_o3(searchHandle, (SaStringT*) objectName, attributes); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmSearchNext_o3(searchHandle, (SaStringT*) objectName, attributes); + nTries++; + } + if (rc == SA_AIS_ERR_NOT_EXIST) + return rc; + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAdminOwnerClear(SaImmHandleT immHandle, const SaNameT ** objectNames, SaImmScopeT scope) @@ -1692,6 +1917,21 @@ SaAisErrorT immutil_saImmOmAdminOwnerCle return rc; } +SaAisErrorT immutil_saImmOmAdminOwnerClear_o3(SaImmHandleT immHandle, const char** objectNames, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOmAdminOwnerClear_o3(immHandle, (SaConstStringT*) objectNames, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOwnerClear_o3(immHandle, (SaConstStringT*) objectNames, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmClassCreate_2(SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const SaImmClassCategoryT @@ -1915,6 +2155,21 @@ SaAisErrorT immutil_saImmOmAdminOwnerSet return rc; } +SaAisErrorT immutil_saImmOmAdminOwnerSet_o3(SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOmAdminOwnerSet_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOwnerSet_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAdminOwnerRelease(SaImmAdminOwnerHandleT ownerHandle, const SaNameT ** name, SaImmScopeT scope) @@ -1966,6 +2221,21 @@ SaAisErrorT immutil_saImmOmAdminOwnerRel return rc; } +SaAisErrorT immutil_saImmOmAdminOwnerRelease_o3(SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOmAdminOwnerRelease_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOwnerRelease_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAdminOperationInvoke_o214(SaImmAdminOwnerHandleT ownerHandle, const char *objectName, @@ -2071,6 +2341,56 @@ SaAisErrorT immutil_saImmOmAdminOperatio return rc; } +SaAisErrorT immutil_saImmOmAdminOperationInvoke_o3(SaImmAdminOwnerHandleT ownerHandle, const char* objectName, + SaImmContinuationIdT continuationId, SaImmAdminOperationIdT operationId, + const SaImmAdminOperationParamsT_2 **params, SaAisErrorT *operationReturnValue, + SaTimeT timeout, SaImmAdminOperationParamsT_2 ***returnParams) { + SaAisErrorT rc = saImmOmAdminOperationInvoke_o3(ownerHandle, (SaConstStringT) objectName, continuationId, + operationId, params, operationReturnValue, timeout, returnParams); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOperationInvoke_o3(ownerHandle, (SaConstStringT) objectName, continuationId, + operationId, params, operationReturnValue, timeout, returnParams); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_2(SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const SaNameT *objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params) +{ + SaAisErrorT rc = saImmOmAdminOperationInvokeAsync_2(ownerHandle, userInvocation, objectName, continuationId, operationId, params); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOperationInvokeAsync_2(ownerHandle, userInvocation, objectName, continuationId, operationId, params); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_o3(SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const char* objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params) +{ + SaAisErrorT rc = saImmOmAdminOperationInvokeAsync_o3(ownerHandle, userInvocation, (SaConstStringT) objectName, continuationId, operationId, params); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOperationInvokeAsync_o3(ownerHandle, userInvocation, (SaConstStringT) objectName, continuationId, operationId, params); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectCreate_2(SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const SaNameT * parent, @@ -2112,6 +2432,21 @@ SaAisErrorT immutil_saImmOmCcbObjectCrea return rc; } +SaAisErrorT immutil_saImmOmCcbObjectCreate_o3(SaImmCcbHandleT ccbHandle, const char* className, + const char* const objectName, const SaImmAttrValuesT_2 **attrValues) +{ + SaAisErrorT rc = saImmOmCcbObjectCreate_o3(ccbHandle, (const SaImmClassNameT) className, (const SaConstStringT) objectName, attrValues); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmCcbObjectCreate_o3(ccbHandle, (const SaImmClassNameT) className, (const SaConstStringT) objectName, attrValues); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectModify_2(SaImmCcbHandleT immCcbHandle, const SaNameT * objectName, const SaImmAttrModificationT_2 ** @@ -2149,6 +2484,21 @@ SaAisErrorT immutil_saImmOmCcbObjectModi return rc; } +SaAisErrorT immutil_saImmOmCcbObjectModify_o3(SaImmCcbHandleT ccbHandle, const char* objectName, + const SaImmAttrModificationT_2 **attrMods) +{ + SaAisErrorT rc = saImmOmCcbObjectModify_o3(ccbHandle, (SaConstStringT) objectName, attrMods); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmCcbObjectModify_o3(ccbHandle, (SaConstStringT) objectName, attrMods); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectDelete(SaImmCcbHandleT immCcbHandle, const SaNameT * objectName) { @@ -2179,6 +2529,20 @@ SaAisErrorT immutil_saImmOmCcbObjectDele return rc; } +SaAisErrorT immutil_saImmOmCcbObjectDelete_o3(SaImmCcbHandleT ccbHandle, const char* objectName) +{ + SaAisErrorT rc = saImmOmCcbObjectDelete_o3(ccbHandle, (SaConstStringT) objectName); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmCcbObjectDelete_o3(ccbHandle, (SaConstStringT) objectName); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectRead(SaImmCcbHandleT ccbHandle, SaConstStringT objectName, const SaImmAttrNameT * attributeNames, diff --git a/samples/immsv/immutils/immutil.c b/samples/immsv/immutils/immutil.c --- a/samples/immsv/immutils/immutil.c +++ b/samples/immsv/immutils/immutil.c @@ -1134,6 +1134,26 @@ SaAisErrorT immutil_saImmOiInitialize_2( return rc; } +SaAisErrorT immutil_saImmOiInitialize_o3(SaImmOiHandleT * immOiHandle, const SaImmOiCallbacksT_o3 *immOiCallbacks, + const SaVersionT * version) +{ + /* Version parameter is in/out i.e. must be mutable and should not be + re-used from previous call in a retry loop. */ + SaVersionT localVer = *version; + + SaAisErrorT rc = saImmOiInitialize_o3(immOiHandle, immOiCallbacks, &localVer); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + localVer = *version; + rc = saImmOiInitialize_o3(immOiHandle, immOiCallbacks, &localVer); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError("saImmOiInitialize_o3 FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiSelectionObjectGet(SaImmOiHandleT immOiHandle, SaSelectionObjectT * selectionObject) @@ -1195,6 +1215,66 @@ SaAisErrorT immutil_saImmOiClassImplemen return rc; } +SaAisErrorT immutil_saImmOiObjectImplementerSet(SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerSet(immOiHandle, objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerSet(immOiHandle, objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOiObjectImplementerSet_o3(SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerSet_o3(immOiHandle, (SaConstStringT) objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerSet_o3(immOiHandle, (SaConstStringT) objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOiObjectImplementerRelease(SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerRelease(immOiHandle, objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerRelease(immOiHandle, objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOiObjectImplementerRelease_o3(SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOiObjectImplementerRelease_o3(immOiHandle, (SaConstStringT) objectName, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiObjectImplementerRelease_o3(immOiHandle, (SaConstStringT) objectName, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiImplementerSet(SaImmOiHandleT immOiHandle, const SaImmOiImplementerNameT implementerName) @@ -1269,6 +1349,21 @@ SaAisErrorT immutil_saImmOiRtObjectCreat return rc; } +SaAisErrorT immutil_saImmOiRtObjectCreate_o3(SaImmOiHandleT immOiHandle, const SaImmClassNameT className, + const char* objectName, const SaImmAttrValuesT_2 **attrValues) +{ + SaAisErrorT rc = saImmOiRtObjectCreate_o3(immOiHandle, className, (SaConstStringT) objectName, attrValues); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiRtObjectCreate_o3(immOiHandle, className, (SaConstStringT) objectName, attrValues); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiRtObjectDelete(SaImmOiHandleT immOiHandle, const SaNameT * objectName) { @@ -1298,6 +1393,20 @@ SaAisErrorT immutil_saImmOiRtObjectDelet return rc; } +SaAisErrorT immutil_saImmOiRtObjectDelete_o3(SaImmOiHandleT immOiHandle, const char* objectName) +{ + SaAisErrorT rc = saImmOiRtObjectDelete_o3(immOiHandle, (SaConstStringT) objectName); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiRtObjectDelete_o3(immOiHandle, (SaConstStringT) objectName); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiRtObjectUpdate_2(SaImmOiHandleT immOiHandle, const SaNameT * objectName, const SaImmAttrModificationT_2 ** @@ -1334,6 +1443,20 @@ SaAisErrorT immutil_saImmOiRtObjectUpdat return rc; } +SaAisErrorT immutil_saImmOiRtObjectUpdate_o3(SaImmOiHandleT immOiHandle, const char* objectName, const SaImmAttrModificationT_2 **attrMods) +{ + SaAisErrorT rc = saImmOiRtObjectUpdate_o3(immOiHandle, (SaConstStringT) objectName, attrMods); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiRtObjectUpdate_o3(immOiHandle, (SaConstStringT) objectName, attrMods); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOiAdminOperationResult(SaImmOiHandleT immOiHandle, SaInvocationT invocation, SaAisErrorT result) @@ -1378,6 +1501,21 @@ SaAisErrorT immutil_saImmOiAdminOperatio return rc; } +SaAisErrorT immutil_saImmOiAugmentCcbInitialize(SaImmOiHandleT immOiHandle, SaImmOiCcbIdT ccbId64, + SaImmCcbHandleT *ccbHandle, SaImmAdminOwnerHandleT *ownerHandle) +{ + SaAisErrorT rc = saImmOiAugmentCcbInitialize(immOiHandle, ccbId64, ccbHandle, ownerHandle); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOiAugmentCcbInitialize(immOiHandle, ccbId64, ccbHandle, ownerHandle); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError("saImmOiAugmentCcbInitialize FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmInitialize(SaImmHandleT * immHandle, const SaImmCallbacksT * immCallbacks, const SaVersionT * version) @@ -1400,6 +1538,40 @@ SaAisErrorT immutil_saImmOmInitialize(Sa return rc; } +SaAisErrorT immutil_saImmOmInitialize_o2(SaImmHandleT *immHandle, const SaImmCallbacksT_o2 *immCallbacks, + SaVersionT *version) +{ + /* Version parameter is in/out i.e. must be mutable and should not be + re-used from previous call in a retry loop. */ + SaVersionT localVer = *version; + + SaAisErrorT rc = saImmOmInitialize_o2(immHandle, immCallbacks, &localVer); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + localVer = *version; + rc = saImmOmInitialize_o2(immHandle, immCallbacks, &localVer); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOmSelectionObjectGet(SaImmHandleT immHandle, SaSelectionObjectT *selectionObject) +{ + SaAisErrorT rc = saImmOmSelectionObjectGet(immHandle, selectionObject); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmSelectionObjectGet(immHandle, selectionObject); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmFinalize(SaImmHandleT immHandle) { SaAisErrorT rc = saImmOmFinalize(immHandle); @@ -1472,6 +1644,21 @@ SaAisErrorT immutil_saImmOmAccessorGet_o return rc; } +SaAisErrorT immutil_saImmOmAccessorGet_o3(SaImmAccessorHandleT accessorHandle, const char* objectName, + const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes) +{ + SaAisErrorT rc = saImmOmAccessorGet_o3(accessorHandle, (SaConstStringT) objectName, attributeNames, attributes); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAccessorGet_o3(accessorHandle, (SaConstStringT) objectName, attributeNames, attributes); + nTries++; + } + if (rc != SA_AIS_OK && rc != SA_AIS_ERR_NOT_EXIST && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAccessorGetConfigAttrs(SaImmAccessorHandleT accessorHandle, const SaNameT * objectName, @@ -1588,6 +1775,27 @@ SaAisErrorT immutil_saImmOmSearchInitial return rc; } +SaAisErrorT immutil_saImmOmSearchInitialize_o3(SaImmHandleT immHandle, const char* rootName, + SaImmScopeT scope, SaImmSearchOptionsT searchOptions, + const SaImmSearchParametersT_2 *searchParam, const SaImmAttrNameT *attributeNames, + SaImmSearchHandleT *searchHandle) +{ + SaAisErrorT rc = saImmOmSearchInitialize_o3(immHandle, (SaConstStringT) rootName, scope,searchOptions, + searchParam, attributeNames, searchHandle); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmSearchInitialize_o3(immHandle, (SaConstStringT) rootName, scope, searchOptions, + searchParam, attributeNames, searchHandle); + nTries++; + } + if (rc == SA_AIS_ERR_NOT_EXIST) + return rc; + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmSearchFinalize(SaImmSearchHandleT searchHandle) { SaAisErrorT rc = saImmOmSearchFinalize(searchHandle); @@ -1642,6 +1850,23 @@ SaAisErrorT immutil_saImmOmSearchNext_o2 return rc; } +SaAisErrorT immutil_saImmOmSearchNext_o3(SaImmSearchHandleT searchHandle, char** objectName, + SaImmAttrValuesT_2 ***attributes) +{ + SaAisErrorT rc = saImmOmSearchNext_o3(searchHandle, (SaStringT*) objectName, attributes); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmSearchNext_o3(searchHandle, (SaStringT*) objectName, attributes); + nTries++; + } + if (rc == SA_AIS_ERR_NOT_EXIST) + return rc; + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAdminOwnerClear(SaImmHandleT immHandle, const SaNameT ** objectNames, SaImmScopeT scope) @@ -1692,6 +1917,21 @@ SaAisErrorT immutil_saImmOmAdminOwnerCle return rc; } +SaAisErrorT immutil_saImmOmAdminOwnerClear_o3(SaImmHandleT immHandle, const char** objectNames, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOmAdminOwnerClear_o3(immHandle, (SaConstStringT*) objectNames, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOwnerClear_o3(immHandle, (SaConstStringT*) objectNames, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmClassCreate_2(SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const SaImmClassCategoryT @@ -1915,6 +2155,21 @@ SaAisErrorT immutil_saImmOmAdminOwnerSet return rc; } +SaAisErrorT immutil_saImmOmAdminOwnerSet_o3(SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOmAdminOwnerSet_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOwnerSet_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAdminOwnerRelease(SaImmAdminOwnerHandleT ownerHandle, const SaNameT ** name, SaImmScopeT scope) @@ -1966,6 +2221,21 @@ SaAisErrorT immutil_saImmOmAdminOwnerRel return rc; } +SaAisErrorT immutil_saImmOmAdminOwnerRelease_o3(SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope) +{ + SaAisErrorT rc = saImmOmAdminOwnerRelease_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOwnerRelease_o3(adminOwnerHandle, (SaConstStringT*) objectNames, scope); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmAdminOperationInvoke_o214(SaImmAdminOwnerHandleT ownerHandle, const char *objectName, @@ -2071,6 +2341,56 @@ SaAisErrorT immutil_saImmOmAdminOperatio return rc; } +SaAisErrorT immutil_saImmOmAdminOperationInvoke_o3(SaImmAdminOwnerHandleT ownerHandle, const char* objectName, + SaImmContinuationIdT continuationId, SaImmAdminOperationIdT operationId, + const SaImmAdminOperationParamsT_2 **params, SaAisErrorT *operationReturnValue, + SaTimeT timeout, SaImmAdminOperationParamsT_2 ***returnParams) { + SaAisErrorT rc = saImmOmAdminOperationInvoke_o3(ownerHandle, (SaConstStringT) objectName, continuationId, + operationId, params, operationReturnValue, timeout, returnParams); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOperationInvoke_o3(ownerHandle, (SaConstStringT) objectName, continuationId, + operationId, params, operationReturnValue, timeout, returnParams); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_2(SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const SaNameT *objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params) +{ + SaAisErrorT rc = saImmOmAdminOperationInvokeAsync_2(ownerHandle, userInvocation, objectName, continuationId, operationId, params); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOperationInvokeAsync_2(ownerHandle, userInvocation, objectName, continuationId, operationId, params); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + +SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_o3(SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const char* objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params) +{ + SaAisErrorT rc = saImmOmAdminOperationInvokeAsync_o3(ownerHandle, userInvocation, (SaConstStringT) objectName, continuationId, operationId, params); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmAdminOperationInvokeAsync_o3(ownerHandle, userInvocation, (SaConstStringT) objectName, continuationId, operationId, params); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectCreate_2(SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const SaNameT * parent, @@ -2112,6 +2432,21 @@ SaAisErrorT immutil_saImmOmCcbObjectCrea return rc; } +SaAisErrorT immutil_saImmOmCcbObjectCreate_o3(SaImmCcbHandleT ccbHandle, const char* className, + const char* const objectName, const SaImmAttrValuesT_2 **attrValues) +{ + SaAisErrorT rc = saImmOmCcbObjectCreate_o3(ccbHandle, (const SaImmClassNameT) className, (const SaConstStringT) objectName, attrValues); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmCcbObjectCreate_o3(ccbHandle, (const SaImmClassNameT) className, (const SaConstStringT) objectName, attrValues); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectModify_2(SaImmCcbHandleT immCcbHandle, const SaNameT * objectName, const SaImmAttrModificationT_2 ** @@ -2149,6 +2484,21 @@ SaAisErrorT immutil_saImmOmCcbObjectModi return rc; } +SaAisErrorT immutil_saImmOmCcbObjectModify_o3(SaImmCcbHandleT ccbHandle, const char* objectName, + const SaImmAttrModificationT_2 **attrMods) +{ + SaAisErrorT rc = saImmOmCcbObjectModify_o3(ccbHandle, (SaConstStringT) objectName, attrMods); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmCcbObjectModify_o3(ccbHandle, (SaConstStringT) objectName, attrMods); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectDelete(SaImmCcbHandleT immCcbHandle, const SaNameT * objectName) { @@ -2179,6 +2529,20 @@ SaAisErrorT immutil_saImmOmCcbObjectDele return rc; } +SaAisErrorT immutil_saImmOmCcbObjectDelete_o3(SaImmCcbHandleT ccbHandle, const char* objectName) +{ + SaAisErrorT rc = saImmOmCcbObjectDelete_o3(ccbHandle, (SaConstStringT) objectName); + unsigned int nTries = 1; + while (rc == SA_AIS_ERR_TRY_AGAIN && nTries < immutilWrapperProfile.nTries) { + usleep(immutilWrapperProfile.retryInterval * 1000); + rc = saImmOmCcbObjectDelete_o3(ccbHandle, (SaConstStringT) objectName); + nTries++; + } + if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal) + immutilError(" FAILED, rc = %d", (int) rc); + return rc; +} + SaAisErrorT immutil_saImmOmCcbObjectRead(SaImmCcbHandleT ccbHandle, SaConstStringT objectName, const SaImmAttrNameT * attributeNames, diff --git a/samples/immsv/immutils/immutil.h b/samples/immsv/immutils/immutil.h --- a/samples/immsv/immutils/immutil.h +++ b/samples/immsv/immutils/immutil.h @@ -424,6 +424,10 @@ EXTERN_C SaAisErrorT immutil_saImmOiInit SaImmOiHandleT *immOiHandle, const SaImmOiCallbacksT_2 *immOiCallbacks, const SaVersionT *version); +EXTERN_C SaAisErrorT immutil_saImmOiInitialize_o3( + SaImmOiHandleT * immOiHandle, const SaImmOiCallbacksT_o3 *immOiCallbacks, + const SaVersionT * version); + EXTERN_C SaAisErrorT immutil_saImmOiSelectionObjectGet( SaImmOiHandleT immOiHandle, SaSelectionObjectT *selectionObject); @@ -433,6 +437,22 @@ EXTERN_C SaAisErrorT immutil_saImmOiClas EXTERN_C SaAisErrorT immutil_saImmOiClassImplementerRelease( SaImmOiHandleT immOiHandle, const char *className); +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerSet( + SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope); + +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerSet_o3( + SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope); + +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerRelease( + SaImmOiHandleT immOiHandle, const SaNameT *objectName, + SaImmScopeT scope); + +EXTERN_C SaAisErrorT immutil_saImmOiObjectImplementerRelease_o3( + SaImmOiHandleT immOiHandle, const char* objectName, + SaImmScopeT scope); + EXTERN_C SaAisErrorT immutil_saImmOiImplementerSet( SaImmOiHandleT immOiHandle, const SaImmOiImplementerNameT implementerName); @@ -447,12 +467,19 @@ EXTERN_C SaAisErrorT immutil_saImmOiRtOb SaImmOiHandleT immOiHandle, const SaImmClassNameT className, const char *parentName, const SaImmAttrValuesT_2 **attrValues); +EXTERN_C SaAisErrorT immutil_saImmOiRtObjectCreate_o3( + SaImmOiHandleT immOiHandle, const SaImmClassNameT className, + const char* objectName, const SaImmAttrValuesT_2 **attrValues); + EXTERN_C SaAisErrorT immutil_saImmOiRtObjectDelete(SaImmOiHandleT immOiHandle, const SaNameT *objectName); EXTERN_C SaAisErrorT immutil_saImmOiRtObjectDelete_o2( SaImmOiHandleT immOiHandle, const char *objectName); +EXTERN_C SaAisErrorT immutil_saImmOiRtObjectDelete_o3( + SaImmOiHandleT immOiHandle, const char* objectName); + EXTERN_C SaAisErrorT immutil_saImmOiRtObjectUpdate_2( SaImmOiHandleT immOiHandle, const SaNameT *objectName, const SaImmAttrModificationT_2 **attrMods); @@ -461,6 +488,10 @@ EXTERN_C SaAisErrorT immutil_saImmOiRtOb SaImmOiHandleT immOiHandle, const char *objectName, const SaImmAttrModificationT_2 **attrMods); +EXTERN_C SaAisErrorT immutil_saImmOiRtObjectUpdate_o3( + SaImmOiHandleT immOiHandle, const char* objectName, + const SaImmAttrModificationT_2 **attrMods); + EXTERN_C SaAisErrorT immutil_saImmOiAdminOperationResult( SaImmOiHandleT immOiHandle, SaInvocationT invocation, SaAisErrorT result); @@ -468,12 +499,23 @@ EXTERN_C SaAisErrorT immutil_saImmOiAdmi SaImmOiHandleT immOiHandle, SaInvocationT invocation, SaAisErrorT result, const SaImmAdminOperationParamsT_2 **returnParams); +EXTERN_C SaAisErrorT immutil_saImmOiAugmentCcbInitialize( + SaImmOiHandleT immOiHandle, SaImmOiCcbIdT ccbId64, + SaImmCcbHandleT *ccbHandle, SaImmAdminOwnerHandleT *ownerHandle); + EXTERN_C SaAisErrorT immutil_saImmOmInitialize( SaImmHandleT *immHandle, const SaImmCallbacksT *immCallbacks, const SaVersionT *version); +EXTERN_C SaAisErrorT immutil_saImmOmInitialize_o2( + SaImmHandleT *immHandle, const SaImmCallbacksT_o2 *immCallbacks, + SaVersionT *version); + EXTERN_C SaAisErrorT immutil_saImmOmFinalize(SaImmHandleT immHandle); +EXTERN_C SaAisErrorT immutil_saImmOmSelectionObjectGet( + SaImmHandleT immHandle, SaSelectionObjectT *selectionObject); + EXTERN_C SaAisErrorT immutil_saImmOmAccessorInitialize( SaImmHandleT immHandle, SaImmAccessorHandleT *accessorHandle); @@ -485,6 +527,10 @@ EXTERN_C SaAisErrorT immutil_saImmOmAcce SaImmAccessorHandleT accessorHandle, const char *objectName, const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes); +EXTERN_C SaAisErrorT immutil_saImmOmAccessorGet_o3( + SaImmAccessorHandleT accessorHandle, const char* objectName, + const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes); + EXTERN_C SaAisErrorT immutil_saImmOmAccessorGetConfigAttrs( SaImmAccessorHandleT accessorHandle, const SaNameT *objectName, SaImmAttrValuesT_2 ***attributes); @@ -501,7 +547,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmClas SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className); /** - * Wrapper for saImmOmSearchInitialize_2/o2 The SA_AIS_ERR_NOT_EXIST error code + * Wrapper for saImmOmSearchInitialize_2/_o2/_o3 The SA_AIS_ERR_NOT_EXIST error code * is not considered an error and is always returned even if "errorsAreFatal" is * set. */ @@ -521,6 +567,12 @@ immutil_saImmOmSearchInitialize_o2(SaImm const SaImmAttrNameT *attributeNames, SaImmSearchHandleT *searchHandle); +EXTERN_C SaAisErrorT +immutil_saImmOmSearchInitialize_o3(SaImmHandleT immHandle, const char* rootName, + SaImmScopeT scope, SaImmSearchOptionsT searchOptions, + const SaImmSearchParametersT_2 *searchParam, const SaImmAttrNameT *attributeNames, + SaImmSearchHandleT *searchHandle); + /** * Wrapper for saImmOmSearchFinalize */ @@ -528,7 +580,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmSearchFinalize(SaImmSearchHandleT searchHandle); /** - * Wrapper for saImmOmSearchNext_2/o2 The SA_AIS_ERR_NOT_EXIST error code is not + * Wrapper for saImmOmSearchNext_2/o2/_o3 The SA_AIS_ERR_NOT_EXIST error code is not * considered an error and is always returned even if "errorsAreFatal" is set. */ EXTERN_C SaAisErrorT @@ -540,8 +592,12 @@ EXTERN_C SaAisErrorT immutil_saImmOmSearchNext_o2(SaImmSearchHandleT searchHandle, char **objectName, SaImmAttrValuesT_2 ***attributes); +EXTERN_C SaAisErrorT +immutil_saImmOmSearchNext_o3(SaImmSearchHandleT searchHandle, char** objectName, + SaImmAttrValuesT_2 ***attributes); + /** - * Wrapper for saImmOmAdminOwnerClear/_o2 + * Wrapper for saImmOmAdminOwnerClear/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerClear(SaImmHandleT immHandle, @@ -551,6 +607,10 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerClear_o2(SaImmHandleT immHandle, const char **objectNames, SaImmScopeT scope); +EXTERN_C SaAisErrorT +immutil_saImmOmAdminOwnerClear_o3(SaImmHandleT immHandle, + const char** objectNames, SaImmScopeT scope); + /** * Wrapper for saImmOiFinalize */ @@ -597,7 +657,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmCcbA EXTERN_C SaAisErrorT immutil_saImmOmCcbValidate(SaImmCcbHandleT immCcbHandle); /** - * Wrapper for saImmOmAdminOwnerSet/_o2 + * Wrapper for saImmOmAdminOwnerSet/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerSet( SaImmAdminOwnerHandleT ownerHandle, const SaNameT** name, @@ -606,8 +666,12 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerSet_o2( SaImmAdminOwnerHandleT ownerHandle, const char ** name, SaImmScopeT scope); +EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerSet_o3( + SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope); + /** - * Wrapper for saImmOmAdminOwnerRelease/_o2 + * Wrapper for saImmOmAdminOwnerRelease/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerRelease( SaImmAdminOwnerHandleT ownerHandle, const SaNameT** name, @@ -616,6 +680,10 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerRelease_o2( SaImmAdminOwnerHandleT ownerHandle, const char ** name, SaImmScopeT scope); +EXTERN_C SaAisErrorT immutil_saImmOmAdminOwnerRelease_o3( + SaImmAdminOwnerHandleT adminOwnerHandle, const char** objectNames, + SaImmScopeT scope); + /** * Wrapper for saImmOmAdminOperationInvoke_o2 */ @@ -637,7 +705,7 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi SaImmAdminOperationParamsT_2 ***returnParams); /** - * Wrapper for saImmOmAdminOperationInvoke_2 + * Wrapper for saImmOmAdminOperationInvoke_2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvoke_2( SaImmAdminOwnerHandleT ownerHandle, const SaNameT *objectName, @@ -645,46 +713,67 @@ EXTERN_C SaAisErrorT immutil_saImmOmAdmi const SaImmAdminOperationParamsT_2 **params, SaAisErrorT *operationReturnValue, SaTimeT timeout); +EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvoke_o3( + SaImmAdminOwnerHandleT ownerHandle, const char* objectName, + SaImmContinuationIdT continuationId, SaImmAdminOperationIdT operationId, + const SaImmAdminOperationParamsT_2 **params, SaAisErrorT *operationReturnValue, + SaTimeT timeout, SaImmAdminOperationParamsT_2 ***returnParams); + /** - * Wrapper for saImmOmCcbObjectCreate_2 + * Wrapper for saImmOmAdminOperationInvokeAsync_2/_o3 + */ +EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_2( + SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const SaNameT *objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params); + +EXTERN_C SaAisErrorT immutil_saImmOmAdminOperationInvokeAsync_o3( + SaImmAdminOwnerHandleT ownerHandle, SaInvocationT userInvocation, + const char* objectName, SaImmContinuationIdT continuationId, + SaImmAdminOperationIdT operationId, const SaImmAdminOperationParamsT_2 **params); + +/** + * Wrapper for saImmOmCcbObjectCreate_2/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectCreate_2( SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const SaNameT *parent, const SaImmAttrValuesT_2** attrValues); -/** - * Wrapper for saImmOmCcbObjectCreate_o2 - */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectCreate_o2( SaImmCcbHandleT immCcbHandle, const SaImmClassNameT className, const char *parent, const SaImmAttrValuesT_2** attrValues); +EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectCreate_o3( + SaImmCcbHandleT ccbHandle, const char* className, + const char* const objectName, const SaImmAttrValuesT_2 **attrValues); + /** - * Wrapper for saImmOmCcbObjectModify_2 + * Wrapper for saImmOmCcbObjectModify_2/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectModify_2( SaImmCcbHandleT immCcbHandle, const SaNameT *objectName, const SaImmAttrModificationT_2** attrMods); -/** - * Wrapper for saImmOmCcbObjectModify_o2 - */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectModify_o2( SaImmCcbHandleT immCcbHandle, const char *objectName, const SaImmAttrModificationT_2** attrMods); +EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectModify_o3( + SaImmCcbHandleT ccbHandle, const char* objectName, + const SaImmAttrModificationT_2 **attrMods); + /** - * Wrapper for saImmOmCcbObjectDelete + * Wrapper for saImmOmCcbObjectDelete/_o2/_o3 */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectDelete( SaImmCcbHandleT immCcbHandle, const SaNameT *objectName); -/** - * Wrapper for saImmOmCcbObjectDelete_o2 - */ EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectDelete_o2( SaImmCcbHandleT immCcbHandle, const char *objectName); +EXTERN_C SaAisErrorT immutil_saImmOmCcbObjectDelete_o3( + SaImmCcbHandleT ccbHandle, const char* objectName); + /** * Wrapper for saImmOmCcbObjectRead */ ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel