Ack with comments:
- Please remove all remains of A_01_01
- inline

As a side note, pylint and pep8 finds many errors and warnings for this file. 
Guess you should have a look and correct that.

Thanks,
Hans

> -----Original Message-----
> From: Hans Nordebäck
> Sent: den 19 augusti 2013 15:45
> To: Hans Feldt; Hans Nordebäck
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] pyosaf: correct python bindings for saImmOi [#548]
> 
>  python/pyosaf/saImmOi.py |  225 
> +++++++++++++++++++++++++++++++++++-----------
>  1 files changed, 172 insertions(+), 53 deletions(-)
> 
> 
> Correct python bindings for saImmOi, see also
> http://devel.opensaf.org/ticket/2905.
> 
> diff --git a/python/pyosaf/saImmOi.py b/python/pyosaf/saImmOi.py
> --- a/python/pyosaf/saImmOi.py
> +++ b/python/pyosaf/saImmOi.py
> @@ -112,24 +112,13 @@ class SaImmOiCallbacksT_2(Structure):
>               ('saImmOiRtAttrUpdateCallback',
>                       SaImmOiRtAttrUpdateCallbackT)]
> 
> -#ifdef IMM_A_01_01
> -def saImmOiInitialize(immOiHandle, immOiCallbacks, version):
> +class SaImmAdminOperationParamsT_2(Structure):
>       """
> -     Register invoking process with IMM.
> +     """
> +     _fields_ = [('paramName', SaStringT),
> +                             ('paramType', SaImmValueTypeT),
> +                             ('paramBuffer', SaImmAttrValueT)]
> 
> -     type arguments:
> -             SaImmOiHandleT immOiHandle
> -             SaImmOiCallbacksT immOiCallbacks
> -             SaVersionT version
> -
> -     returns:
> -             SaAisErrorT
> -
> -     """
> -     return oidll.saImmOiInitialize(BYREF(immOiHandle),
> -                     BYREF(immOiCallbacks),
> -                     BYREF(version))
> -#endif
> 
>  def saImmOiInitialize_2(immOiHandle, immOiCallbacks, version):
>       """
> @@ -144,6 +133,11 @@ def saImmOiInitialize_2(immOiHandle, imm
>               SaAisErrorT
> 
>       """
> +     oidll.saImmOiInitialize_2.argtypes = [POINTER(SaImmOiHandleT),
> +                                                                             
>   POINTER(SaImmOiCallbacksT_2),
> +                                                                             
>   POINTER(SaVersionT)]
> +     oidll.saImmOiInitialize_2.restype = SaAisErrorT
> +
>       return oidll.saImmOiInitialize_2(BYREF(immOiHandle),
>                       BYREF(immOiCallbacks),
>                       BYREF(version))
> @@ -160,6 +154,12 @@ def saImmOiSelectionObjectGet(immOiHandl
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiSelectionObjectGet.argtypes = [SaImmOiHandleT,
> +                                                                             
>                 POINTER(SaSelectionObjectT)]
> +
> +     oidll.saImmOiSelectionObjectGet.restype = SaAisErrorT
> +
>       return oidll.saImmOiSelectionObjectGet(immOiHandle,
>                       BYREF(selectionObject))
> 
> @@ -174,6 +174,11 @@ def saImmOiDispatch(immOiHandle, dispatc
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiDispatch.argtypes = [SaImmOiHandleT,SaDispatchFlagsT]
> +
> +     oidll.saImmOiDispatch.restype = SaAisErrorT
> +
>       return oidll.saImmOiDispatch(immOiHandle, dispatchFlags)
> 
>  def saImmOiFinalize(immOiHandle):
> @@ -186,6 +191,11 @@ def saImmOiFinalize(immOiHandle):
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiFinalize.argtypes = [SaImmOiHandleT]
> +
> +     oidll.saImmOiFinalize.restype = SaAisErrorT
> +
>       return oidll.saImmOiFinalize(immOiHandle)
> 
>  def saImmOiImplementerSet(immOiHandle, implementerName):
> @@ -200,6 +210,11 @@ def saImmOiImplementerSet(immOiHandle, i
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiImplementerSet.argtypes = [SaImmOiHandleT,
> +                                                                             
>         SaImmOiImplementerNameT]
> +     oidll.saImmOiImplementerSet.restype = SaAisErrorT
> +
>       return oidll.saImmOiImplementerSet(immOiHandle, implementerName)
> 
>  def saImmOiImplementerClear(immOiHandle):
> @@ -213,6 +228,9 @@ def saImmOiImplementerClear(immOiHandle)
>               SaAisErrorT
> 
>       """
> +     oidll.saImmOiImplementerClear.argtypes = [SaImmOiHandleT]
> +     oidll.saImmOiImplementerClear.restype = SaAisErrorT
> +
>       return oidll.saImmOiImplementerClear(immOiHandle)
> 
>  def saImmOiClassImplementerSet(immOiHandle, className):
> @@ -228,6 +246,11 @@ def saImmOiClassImplementerSet(immOiHand
>               SaAisErrorT
> 
>       """
> +     oidll.saImmOiClassImplementerSet.argtypes = [SaImmOiHandleT,
> +                                                                             
>                  SaImmClassNameT]
> +
> +     oidll.saImmOiClassImplementerSet.restype = SaAisErrorT
> +
>       return oidll.saImmOiClassImplementerSet(immOiHandle, className)
> 
>  def saImmOiClassImplementerRelease(immOiHandle, className):
> @@ -243,6 +266,12 @@ def saImmOiClassImplementerRelease(immOi
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiClassImplementerRelease.argtypes = [SaImmOiHandleT,
> +                                                                             
>                          SaImmClassNameT]
> +
> +     oidll.saImmOiClassImplementerRelease.restype = SaAisErrorT
> +
>       return oidll.saImmOiClassImplementerRelease(immOiHandle, className)
> 
>  def saImmOiObjectImplementerSet(immOiHandle, objectName, scope):
> @@ -259,6 +288,13 @@ def saImmOiObjectImplementerSet(immOiHan
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiObjectImplementerSet.argtypes = [SaImmOiHandleT,
> +                                                                             
>                   POINTER(SaNameT),
> +                                                                             
>                   SaImmScopeT]
> +
> +     oidll.saImmOiObjectImplementerSet.restype = SaAisErrorT
> +
>       return oidll.saImmOiObjectImplementerSet(immOiHandle,
>                       BYREF(objectName),
>                       scope)
> @@ -277,29 +313,17 @@ def saImmOiObjectImplementerRelease(immO
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiObjectImplementerRelease.argtypes = [SaImmOiHandleT,
> +                                                                             
>                           POINTER(SaNameT),
> +                                                                             
>                           SaImmScopeT]
> +
> +     oidll.saImmOiObjectImplementerRelease.restype = SaAisErrorT
> +
>       return oidll.saImmOiObjectImplementerRelease(immOiHandle,
>                       BYREF(objectName),
>                       scope)
> 
> -#ifdef IMM_A_01_01
> -def saImmOiRtObjectCreate(immOiHandle, className, parentName, attrValues):
> -     """Create new IMM service runtime object.
> -
> -     type arguments:
> -             SaImmOiHandleT immOiHandle
> -             SaImmClassNameT className
> -             SaNameT parentName
> -             SaImmAttrValuesT attrValues
> -
> -     returns:
> -             SaAisErrorT
> -
> -     """
> -     return oidll.saImmOiRtObjectCreate(immOiHandle,
> -                     className,
> -                     BYREF(parentName),
> -                     BYREF(attrValues))
> -#endif
> 
>  def saImmOiRtObjectCreate_2(immOiHandle, className, parentName, attrValues):
>       """Create new IMM service runtime object.
> @@ -314,6 +338,14 @@ def saImmOiRtObjectCreate_2(immOiHandle,
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiRtObjectCreate_2.argtypes = [SaImmOiHandleT,
> +                                                                             
>           SaImmClassNameT,
> +                                                                             
>           POINTER(SaNameT),
> +                                                                             
>           POINTER(SaImmAttrValuesT_2)]

[Hans Feldt] should be a double POINTER here


> +
> +     oidll.saImmOiRtObjectCreate_2.restype = SaAisErrorT
> +
>       return oidll.saImmOiRtObjectCreate_2(immOiHandle,
>                       className,
>                       BYREF(parentName),
> @@ -330,26 +362,13 @@ def saImmOiRtObjectDelete(immOiHandle, o
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiRtObjectDelete.argtypes = [SaImmOiHandleT,
> +                                                                             
>         POINTER(SaNameT)]
> +     oidll.saImmOiRtObjectDelete.restype = SaAisErrorT
> +
>       return oidll.saImmOiRtObjectDelete(immOiHandle, BYREF(objectName))
> 
> -#ifdef IMM_A_01_01
> -def saImmOiRtObjectUpdate(immOiHandle, objectName, attrMods):
> -     """Update runtime attributes of configuration or runtime object.
> -
> -     type arguments:
> -             SaImmOiHandleT immOiHandle
> -             SaNameT objectName
> -             SaImmAttrModificationT attrMods
> -
> -     returns:
> -             SaAisErrorT
> -
> -     """
> -     return oidll.saImmOiRtObjectUpdate(immOiHandle,
> -                     BYREF(objectName),
> -                     BYREF(attrMods))
> -#endif
> -
>  def saImmOiRtObjectUpdate_2(immOiHandle, objectName, attrMods):
>       """Update runtime attributes of configuration or runtime object.
> 
> @@ -362,6 +381,13 @@ def saImmOiRtObjectUpdate_2(immOiHandle,
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiRtObjectUpdate_2.argtypes = [SaImmOiHandleT,
> +                                                                             
>           POINTER(SaNameT),
> +                                                                             
>           POINTER(SaImmAttrModificationT_2)]

[Hans Feldt] should be a double POINTER here

> +
> +     oidll.saImmOiRtObjectUpdate_2.restype = SaAisErrorT
> +
>       return oidll.saImmOiRtObjectUpdate_2(immOiHandle,
>                       BYREF(objectName),
>                       BYREF(attrMods))
> @@ -379,4 +405,97 @@ def saImmOiAdminOperationResult(immOiHan
>               SaAisErrorT
> 
>       """
> +
> +     oidll.saImmOiAdminOperationResult.argtypes = [SaImmOiHandleT,
> +                                                                             
>                   SaInvocationT,
> +                                                                             
>                   SaAisErrorT]
> +
> +     oidll.saImmOiAdminOperationResult.restype = SaAisErrorT
> +
>       return oidll.saImmOiAdminOperationResult(immOiHandle, invocation, 
> result)
> +
> +def saImmOiAdminOperationResult_o2(immOiHandle, invocation, result,
> +                                                                
> returnParams):
> +     """Respond to IMM with result of saImmOiAdminOperationCallback()
> +     invoked by IMM.
> +
> +     type arguments:
> +             SaImmOiHandleT immOiHandle
> +             SaInvocationT invocation
> +             SaAisErrorT result
> +             SaImmAdminOperationParamsT_2 returnParams
> +
> +     returns:
> +             SaAisErrorT
> +
> +     """
> +
> +     oidll.saImmOiAdminOperationResult_o2.argtypes = [SaImmOiHandleT,
> +                                                                             
>                   SaInvocationT,
> +                                                                             
>                   SaAisErrorT,
> +
> POINTER(POINTER(SaImmAdminOperationParamsT_2))]
> +
> +     oidll.saImmOiAdminOperationResult_o2.restype = SaAisErrorT
> +
> +     return oidll.saImmOiAdminOperationResult_o2(immOiHandle, invocation, 
> result, BYREF(returnParams))
> +
> +def saImmOiAugmentCcbInitialize(immOiHandle, ccbId64, ccbHandle,
> +                                                         ownerHandle):
> +     """Allows the OI implementers to augment ops to a ccb related
> +    to a current ccb-upcall, before returning from the upcall.
> +    This is allowed inside:
> +       SaImmOiCcbObjectCreateCallbackT
> +       SaImmOiCcbObjectDeleteCallbackT
> +       SaImmOiCcbObjectModifyCallbackT
> +    It is NOT allowed inside:
> +       SaImmOiCcbCompletedCallbackT
> +       SaImmOiApplyCallbackT
> +       SaImmOiAbortCallbackT
> +
> +    type arguments:
> +       SaImmOiHandleT immOiHandle
> +       SaImmOiCcbIdT ccbId64
> +       SaImmCcbHandleT *ccbHandle
> +       SaImmAdminOwnerHandleT *ownerHandle
> +
> +    returns:
> +       SaAisErrorT
> +    """
> +
> +     oidll.saImmOiAugmentCcbInitialize.argtypes = [SaImmOiHandleT,
> +                                                                             
>                   SaImmOiCcbIdT,
> +                                                                             
>                   POINTER(SaImmCcbHandleT),
> +
> POINTER(SaImmAdminOwnerHandleT)]
> +
> +     oidll.saImmOiAugmentCcbInitialize.restype = SaAisErrorT
> +
> +     return oidll.saImmOiAugmentCcbInitialize(immOiHandle, ccbId64,
> +                                                                             
>          BYREF(ccbHandle),BYREF(ownerHandle))
> +
> +def saImmOiCcbSetErrorString(immOiHandle, ccbId, errorString):
> +     """Allows the OI implementers to post an error string related
> +    to a current ccb-upcall, before returning from the upcall.
> +    The string will be transmitted to the OM client if the OI
> +    returns with an error code (not ok). This is allowed inside:
> +        SaImmOiCcbObjectCreateCallbackT
> +        SaImmOiCcbObjectDeleteCallbackT
> +        SaImmOiCcbObjectModifyCallbackT
> +        SaImmOiCcbCompletedCallbackT
> +
> +    type arguments:
> +        SaImmOiHandleT - immOiHandle
> +        SaImmOiCcbIdT - ccbId
> +        SaStringT - errorString
> +
> +    returns:
> +        SaAisErrorT
> +
> +     """
> +     oidll.saImmOiCcbSetErrorString.argtypes = [SaImmOiHandleT,
> +                                                                             
>            SaImmOiCcbItT,
> +                                                                             
>            SaStringT]
> +
> +     oidll.saImmOiCcbSetErrorString.restype = SaAisErrorT
> +
> +     return oidll.saImmOiCcbSetErrorString(immOiHandle, ccbId, errorString)
> +

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to