Ack. No comment from me.

-----Original Message-----
From: Anh Tuan Le <anh.t...@dektech.com.au> 
Sent: Tuesday, April 20, 2021 9:41 AM
To: Thang Duc Nguyen <thang.d.ngu...@dektech.com.au>; Thanh Nguyen 
<thanh.ngu...@dektech.com.au>; Hieu Hong Hoang <hieu.h.ho...@dektech.com.au>
Cc: opensaf-devel@lists.sourceforge.net; Anh Tuan Le <anh.t...@dektech.com.au>
Subject: [PATCH 1/1] pyosaf: support for amf api version b4.02 [#3256]

---
 python/pyosaf/saAmf.py | 57 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 56 insertions(+), 1 deletion(-)

diff --git a/python/pyosaf/saAmf.py b/python/pyosaf/saAmf.py index 
ff9265d22..b3ae55f7f 100644
--- a/python/pyosaf/saAmf.py
+++ b/python/pyosaf/saAmf.py
@@ -392,7 +392,11 @@ SaAmfContainedComponentInstantiateCallbackT = 
CFUNCTYPE(None,  SaAmfContainedComponentCleanupCallbackT = CFUNCTYPE(None,
        SaInvocationT, POINTER(SaNameT))
 
-#if defined(SA_AMF_B01) || defined(SA_AMF_B02)
+SaAmfCsiAttributeChangeCallbackT = CFUNCTYPE(None, SaInvocationT,
+                                             POINTER(SaNameT),
+                                             SaAmfCSIAttributeListT)
+
+# if defined(SA_AMF_B01) || defined(SA_AMF_B02)
 class SaAmfCallbacksT(Structure):
        """Contain various callbacks AMF may invoke on a component.
        """
@@ -691,6 +695,57 @@ def saAmfInitialize_4(amfHandle, amfCallbacks, version):
        return amfdll.saAmfInitialize_4(BYREF(amfHandle),
                        BYREF(amfCallbacks), BYREF(version))
 
+
+# pylint: disable-msg=R0903
+class SaAmfCallbacksTB0402(Structure):
+    """Contain various callbacks AMF may invoke on a component.
+    """
+    _fields_ = [('saAmfHealthcheckCallback',
+                 SaAmfHealthcheckCallbackT),
+                ('saAmfComponentTerminateCallback',
+                 SaAmfComponentTerminateCallbackT),
+                ('saAmfCSISetCallback',
+                 SaAmfCSISetCallbackT),
+                ('saAmfCSIRemoveCallback',
+                 SaAmfCSIRemoveCallbackT),
+                ('saAmfProtectionGroupTrackCallback',
+                 SaAmfProtectionGroupTrackCallbackT_4),
+                ('saAmfProxiedComponentInstantiateCallback',
+                 SaAmfProxiedComponentInstantiateCallbackT),
+                ('saAmfProxiedComponentCleanupCallback',
+                 SaAmfProxiedComponentCleanupCallbackT),
+                ('saAmfContainedComponentInstantiateCallback',
+                 SaAmfContainedComponentInstantiateCallbackT),
+                ('saAmfContainedComponentCleanupCallback',
+                 SaAmfContainedComponentCleanupCallbackT),
+                ('osafCsiAttributeChangeCallback',
+                 SaAmfCsiAttributeChangeCallbackT)]
+# pylint: enable-msg=R0903
+
+
+def saAmfInitialize_o4(amfHandle, amfCallbacks, version):
+    """Register invoking process with AMF.
+
+    type arguments:
+        SaAmfHandleT amfHandle
+        SaAmfCallbacksT_o4 amfCallbacks
+        SaVersionT version
+
+    returns:
+        SaAisErrorT
+
+    """
+
+    amfdll.saAmfInitialize_o4.argtypes = [POINTER(SaAmfHandleT),
+                                          POINTER(SaAmfCallbacksTB0402),
+                                          POINTER(SaVersionT)]
+
+    amfdll.saAmfInitialize_o4.restype = SaAisErrorT
+
+    return amfdll.saAmfInitialize_o4(BYREF(amfHandle),
+                                     BYREF(amfCallbacks), 
+ BYREF(version))
+
+
 def saAmfSelectionObjectGet(amfHandle, selectionObject):
        """Return operating system handle associated with AMF handle to detect
        pending callbacks.
--
2.17.1



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to