Hi Johan,
We can use unmarshalNullArray from saAis.
def get_error_strings(ccb_handle):
''' Returns the current error strings '''
c_strings = POINTER(saAis.SaStringT)()
saImmOmCcbGetErrorStrings(ccb_handle, c_strings)
return unmarshalNullArray(c_strings)
Best Regards,
Hung Nguyen - DEK Technologies
--------------------------------------------------------------------------------
From: Johan Martensson [email protected]
Sent: Tuesday, September 29, 2015 8:23PM
To: Hans Nordeback, Mathivanan Naickan, Hung Nguyen, Srikanth Revanuru
[email protected], [email protected],
[email protected], [email protected]
Cc: Opensaf-devel
[email protected]
Subject: [PATCH 1 of 1] pyosaf: Add function to immom utils to get error
strings [#1506]
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