python/pyosaf/utils/immom/__init__.py | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
Add convenience function to immom utils to get error strings without handling
marshalling of ctypes.
diff --git a/python/pyosaf/utils/immom/__init__.py
b/python/pyosaf/utils/immom/__init__.py
--- a/python/pyosaf/utils/immom/__init__.py
+++ b/python/pyosaf/utils/immom/__init__.py
@@ -21,7 +21,7 @@
import os
import time
-from ctypes import pointer
+from ctypes import pointer, POINTER, cast, c_char_p
from pyosaf import saAis
from pyosaf.saAis import eSaAisErrorT, SaVersionT, SaNameT, unmarshalNullArray
@@ -65,6 +65,7 @@ saImmOmCcbObjectDelete = decorate(saI
saImmOmCcbObjectModify_2 = decorate(saImmOm.saImmOmCcbObjectModify_2)
saImmOmCcbApply = decorate(saImmOm.saImmOmCcbApply)
saImmOmCcbFinalize = decorate(saImmOm.saImmOmCcbFinalize)
+saImmOmCcbGetErrorStrings = decorate(saImmOm.saImmOmCcbGetErrorStrings)
saImmOmAdminOperationInvoke_2 = decorate(saImmOm.saImmOmAdminOperationInvoke_2)
saImmOmAdminOperationInvokeAsync_2 =
decorate(saImmOm.saImmOmAdminOperationInvokeAsync_2)
saImmOmAdminOperationContinue = decorate(saImmOm.saImmOmAdminOperationContinue)
@@ -174,3 +175,24 @@ def admin_op_invoke(dn, op_id, params=No
raise SafException(retval.value)
error = saImmOmAdminOwnerFinalize(owner_handle)
+
+
+def get_error_strings(ccb_handle):
+ ''' Returns the current error strings '''
+
+ c_strings = POINTER(saAis.SaStringT)()
+
+ saImmOmCcbGetErrorStrings(ccb_handle, c_strings)
+
+ strings = []
+
+ if c_strings:
+
+ for c_string in c_strings:
+
+ if c_string:
+ strings.append(cast(c_string, c_char_p).value)
+ else:
+ break
+
+ return strings
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel