osaf/libs/common/immsv/include/immutil.h | 6 ++++++
osaf/tools/safimm/src/immutil.c | 15 +++++++++++++++
samples/immsv/immutils/immutil.c | 15 +++++++++++++++
samples/immsv/immutils/immutil.h | 6 ++++++
4 files changed, 42 insertions(+), 0 deletions(-)
Add immutil for saImmOmCcbObjectRead().
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
@@ -685,6 +685,12 @@ extern SaAisErrorT immutil_getAttr(const
const char
*objectName);
/**
+ * Wrapper for saImmOmCcbObjectRead
+ */
+ extern SaAisErrorT immutil_saImmOmCcbObjectRead(SaImmCcbHandleT
ccbHandle, SaConstStringT objectName,
+
const SaImmAttrNameT *attributeNames,
SaImmAttrValuesT_2 ***attributes);
+
+/**
* Wrapper for saImmOmClassDescriptionGet_2
*/
extern SaAisErrorT immutil_saImmOmClassDescriptionGet_2(SaImmHandleT
immHandle,
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
@@ -1879,6 +1879,21 @@ SaAisErrorT immutil_saImmOmCcbObjectDele
return rc;
}
+SaAisErrorT immutil_saImmOmCcbObjectRead(SaImmCcbHandleT ccbHandle,
SaConstStringT objectName,
+
const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes) {
+ SaAisErrorT rc = saImmOmCcbObjectRead(ccbHandle, objectName,
attributeNames, attributes);
+ unsigned int nTries = 1;
+ while (rc == SA_AIS_ERR_TRY_AGAIN && nTries <
immutilWrapperProfile.nTries) {
+ usleep(immutilWrapperProfile.retryInterval * 1000);
+ rc = saImmOmCcbObjectRead(ccbHandle, objectName,
attributeNames, attributes);
+ nTries++;
+ }
+ if (rc != SA_AIS_OK && rc != SA_AIS_ERR_NOT_EXIST
+ && immutilWrapperProfile.errorsAreFatal)
+ immutilError("saImmOmCcbObjectRead FAILED, rc = %d", (int) rc);
+ return rc;
+}
+
SaAisErrorT immutil_saImmOmClassDescriptionGet_2(SaImmHandleT immHandle,
const SaImmClassNameT
className,
SaImmClassCategoryT *
classCategory,
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
@@ -1879,6 +1879,21 @@ SaAisErrorT immutil_saImmOmCcbObjectDele
return rc;
}
+SaAisErrorT immutil_saImmOmCcbObjectRead(SaImmCcbHandleT ccbHandle,
SaConstStringT objectName,
+
const SaImmAttrNameT *attributeNames, SaImmAttrValuesT_2 ***attributes) {
+ SaAisErrorT rc = saImmOmCcbObjectRead(ccbHandle, objectName,
attributeNames, attributes);
+ unsigned int nTries = 1;
+ while (rc == SA_AIS_ERR_TRY_AGAIN && nTries <
immutilWrapperProfile.nTries) {
+ usleep(immutilWrapperProfile.retryInterval * 1000);
+ rc = saImmOmCcbObjectRead(ccbHandle, objectName,
attributeNames, attributes);
+ nTries++;
+ }
+ if (rc != SA_AIS_OK && rc != SA_AIS_ERR_NOT_EXIST
+ && immutilWrapperProfile.errorsAreFatal)
+ immutilError("saImmOmCcbObjectRead FAILED, rc = %d", (int) rc);
+ return rc;
+}
+
SaAisErrorT immutil_saImmOmClassDescriptionGet_2(SaImmHandleT immHandle,
const SaImmClassNameT
className,
SaImmClassCategoryT *
classCategory,
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
@@ -685,6 +685,12 @@ extern SaAisErrorT immutil_getAttr(const
const char
*objectName);
/**
+ * Wrapper for saImmOmCcbObjectRead
+ */
+ extern SaAisErrorT immutil_saImmOmCcbObjectRead(SaImmCcbHandleT
ccbHandle, SaConstStringT objectName,
+
const SaImmAttrNameT *attributeNames,
SaImmAttrValuesT_2 ***attributes);
+
+/**
* Wrapper for saImmOmClassDescriptionGet_2
*/
extern SaAisErrorT immutil_saImmOmClassDescriptionGet_2(SaImmHandleT
immHandle,
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel