osaf/libs/agents/saf/imma/imma_oi_api.c |   39 +++++++-
 osaf/libs/agents/saf/imma/imma_om_api.c |  113 +++++++++++++++++++++-
 osaf/libs/saf/include/saImmOi_A_2_11.h  |    2 +
 osaf/libs/saf/include/saImmOi_A_2_14.h  |  122 +++++++++++++++++++++++
 osaf/libs/saf/include/saImmOm_A_2_13.h  |    2 +
 osaf/libs/saf/include/saImmOm_A_2_14.h  |  166 ++++++++++++++++++++++++++++++++
 6 files changed, 441 insertions(+), 3 deletions(-)


This patch only contains the new interface (new include files)
and stubbed implementations for that new interface, in imma_m_api.c
and and imma_oi_api.c.

Implementation of the new interface will be provided in a separate patch
for this same ticket.

The interface patch should compile , but needs the patch for #625
(osaf: Support constant strings in SAF APIs) to be applied first.

diff --git a/osaf/libs/agents/saf/imma/imma_oi_api.c 
b/osaf/libs/agents/saf/imma/imma_oi_api.c
--- a/osaf/libs/agents/saf/imma/imma_oi_api.c
+++ b/osaf/libs/agents/saf/imma/imma_oi_api.c
@@ -68,6 +68,13 @@ static int imma_oi_resurrect(IMMA_CB *cb
  
   Notes         :
 ******************************************************************************/
+
+SaAisErrorT saImmOiInitialize_o2(SaImmOiHandleT *immOiHandle,
+                               const SaImmOiCallbacksT_o2 *immOiCallbacks, 
SaVersionT *inout_version)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOiInitialize_2(SaImmOiHandleT *immOiHandle,
                                const SaImmOiCallbacksT_2 *immOiCallbacks, 
SaVersionT *inout_version)
 {
@@ -1888,6 +1895,12 @@ SaAisErrorT saImmOiClassImplementerRelea
 
   Return Values :  Refer to SAI-AIS specification for various return values.
 ******************************************************************************/
+
+SaAisErrorT saImmOiObjectImplementerSet_o2(SaImmOiHandleT immOiHandle, 
SaConstStringT objectName, SaImmScopeT scope)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOiObjectImplementerSet(SaImmOiHandleT immOiHandle, const 
SaNameT *objectName, SaImmScopeT scope)
 {
        SaAisErrorT rc = SA_AIS_OK;
@@ -2077,6 +2090,12 @@ SaAisErrorT saImmOiObjectImplementerSet(
 
   Return Values :  Refer to SAI-AIS specification for various return values.
 ******************************************************************************/
+
+SaAisErrorT saImmOiObjectImplementerRelease_o2(SaImmOiHandleT immOiHandle, 
SaConstStringT objectName, SaImmScopeT scope)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOiObjectImplementerRelease(SaImmOiHandleT immOiHandle, const 
SaNameT *objectName, SaImmScopeT scope)
 {
        SaAisErrorT rc = SA_AIS_OK;
@@ -2247,6 +2266,12 @@ SaAisErrorT saImmOiObjectImplementerRele
        return rc;
 }
 
+SaAisErrorT saImmOiRtObjectUpdate_o2(SaImmOiHandleT immOiHandle,
+                                    SaConstStringT objectName, const 
SaImmAttrModificationT_2 **attrMods)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOiRtObjectUpdate_2(SaImmOiHandleT immOiHandle,
                                    const SaNameT *objectName, const 
SaImmAttrModificationT_2 **attrMods)
 {
@@ -2552,7 +2577,14 @@ SaAisErrorT saImmOiRtObjectUpdate_2(SaIm
        return rc;
 }
 
-extern SaAisErrorT saImmOiRtObjectCreate_2(SaImmOiHandleT immOiHandle,
+SaAisErrorT saImmOiRtObjectCreate_o2(SaImmOiHandleT immOiHandle,
+                                          const SaImmClassNameT className,
+                                          SaConstStringT objectName, const 
SaImmAttrValuesT_2 **attrValues)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
+SaAisErrorT saImmOiRtObjectCreate_2(SaImmOiHandleT immOiHandle,
                                           const SaImmClassNameT className,
                                           const SaNameT *parentName, const 
SaImmAttrValuesT_2 **attrValues)
 {
@@ -2844,6 +2876,11 @@ extern SaAisErrorT saImmOiRtObjectCreate
        return rc;
 }
 
+SaAisErrorT saImmOiRtObjectDelete_o2(SaImmOiHandleT immOiHandle, 
SaConstStringT objectName)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOiRtObjectDelete(SaImmOiHandleT immOiHandle, const SaNameT 
*objectName)
 {
        SaAisErrorT rc = SA_AIS_OK;
diff --git a/osaf/libs/agents/saf/imma/imma_om_api.c 
b/osaf/libs/agents/saf/imma/imma_om_api.c
--- a/osaf/libs/agents/saf/imma/imma_om_api.c
+++ b/osaf/libs/agents/saf/imma/imma_om_api.c
@@ -1531,6 +1531,13 @@ SaAisErrorT saImmOmCcbInitialize(SaImmAd
 
   Return Values :  Refer to SAI-AIS specification for various return values.
 ******************************************************************************/
+SaAisErrorT saImmOmCcbObjectCreate_o2(SaImmCcbHandleT ccbHandle,
+                                     const SaImmClassNameT className,
+                                     const SaConstStringT objectName, const 
SaImmAttrValuesT_2 **attrValues)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmCcbObjectCreate_2(SaImmCcbHandleT ccbHandle,
                                     const SaImmClassNameT className,
                                     const SaNameT *parentName, const 
SaImmAttrValuesT_2 **attrValues)
@@ -2054,6 +2061,12 @@ SaAisErrorT saImmOmCcbObjectCreate_2(SaI
 
   Return Values :  Refer to SAI-AIS specification for various return values.
 ******************************************************************************/
+SaAisErrorT saImmOmCcbObjectModify_o2(SaImmCcbHandleT ccbHandle,
+                                     SaConstStringT objectName, const 
SaImmAttrModificationT_2 **attrMods)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmCcbObjectModify_2(SaImmCcbHandleT ccbHandle,
                                     const SaNameT *objectName, const 
SaImmAttrModificationT_2 **attrMods)
 {
@@ -2510,6 +2523,11 @@ SaAisErrorT saImmOmCcbObjectModify_2(SaI
 
   Return Values :  Refer to SAI-AIS specification for various return values.
 ******************************************************************************/
+SaAisErrorT saImmOmCcbObjectDelete_o2(SaImmCcbHandleT ccbHandle, 
SaConstStringT objectName)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmCcbObjectDelete(SaImmCcbHandleT ccbHandle, const SaNameT 
*objectName)
 {
        SaAisErrorT rc = SA_AIS_OK;
@@ -3259,7 +3277,7 @@ SaAisErrorT saImmOmCcbApply(SaImmCcbHand
 }
 
 /****************************************************************************
-  Name          :  saImmOmAdminOperationInvoke_2/_o2
+  Name          :  saImmOmAdminOperationInvoke_2/_o2/_o214
  
   Description   :  Invoke an Administrative Operation on an object in the IMM.
                    This a blocking syncronous call.
@@ -3315,6 +3333,18 @@ SaAisErrorT saImmOmAdminOperationInvoke_
                operationId, params, operationReturnValue, timeout, 
returnParams, true);
 }
 
+SaAisErrorT saImmOmAdminOperationInvoke_o214(SaImmAdminOwnerHandleT 
ownerHandle,
+                                          SaConstStringT objectName,
+                                          SaImmContinuationIdT continuationId,
+                                          SaImmAdminOperationIdT operationId,
+                                          const SaImmAdminOperationParamsT_2 
**params,
+                                          SaAisErrorT *operationReturnValue,
+                                          SaTimeT timeout,
+                                          SaImmAdminOperationParamsT_2 
***returnParams)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 static SaAisErrorT admin_op_invoke_common(
                                   SaImmAdminOwnerHandleT ownerHandle,
                                   const SaNameT *objectName,
@@ -3787,7 +3817,7 @@ static int push_async_adm_op_continuatio
 }
 
 /****************************************************************************
-  Name          :  saImmOmAdminOperationInvokeAsync/_2
+  Name          :  saImmOmAdminOperationInvokeAsync/_2/_o2
  
   Description   :  Invoke an Administrative Operation on an object in the IMM.
                    This an asynchronous non-blocking call.
@@ -3804,6 +3834,16 @@ static int push_async_adm_op_continuatio
  
   Notes         :
 ******************************************************************************/
+SaAisErrorT saImmOmAdminOperationInvokeAsync_o2(SaImmAdminOwnerHandleT 
ownerHandle,
+                                               SaInvocationT userInvocation,
+                                               SaConstStringT objectName,
+                                               SaImmContinuationIdT 
continuationId,
+                                               SaImmAdminOperationIdT 
operationId,
+                                               const 
SaImmAdminOperationParamsT_2 **params)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmAdminOperationInvokeAsync_2(SaImmAdminOwnerHandleT 
ownerHandle,
                                               SaInvocationT userInvocation,
                                               const SaNameT *objectName,
@@ -4133,6 +4173,17 @@ SaAisErrorT saImmOmAdminOperationContinu
        return SA_AIS_ERR_NOT_SUPPORTED;
 }
 
+SaAisErrorT saImmOmAdminOperationContinue_o214(SaImmAdminOwnerHandleT 
ownerHandle,
+                                              SaConstStringT objectName,
+                                              SaImmContinuationIdT 
continuationId,
+                                              SaAisErrorT 
*operationReturnValue,
+                                               SaImmAdminOperationParamsT_2 
***returnParams)
+{
+       TRACE_2("saImmOmAdminOperationContinue_o214 not implemented use "
+               "saImmOmAdminOperationContinueAsync instead");
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 
 SaAisErrorT saImmOmAdminOperationContinueAsync(SaImmAdminOwnerHandleT 
ownerHandle,
                                               SaInvocationT invocation,
@@ -4142,6 +4193,14 @@ SaAisErrorT saImmOmAdminOperationContinu
        return SA_AIS_ERR_NOT_SUPPORTED;
 }
 
+SaAisErrorT saImmOmAdminOperationContinueAsync_o2(SaImmAdminOwnerHandleT 
ownerHandle,
+                                                 SaInvocationT invocation,
+                                                 SaConstStringT objectName, 
SaImmContinuationIdT continuationId)
+{
+       TRACE_2("saImmOmAdminOperationContinueAsync_o2 not yet implemented");
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmAdminOperationContinuationClear(SaImmAdminOwnerHandleT 
ownerHandle,
                                                   const SaNameT *objectName, 
SaImmContinuationIdT continuationId)
 {
@@ -4149,6 +4208,13 @@ SaAisErrorT saImmOmAdminOperationContinu
        return SA_AIS_ERR_NOT_SUPPORTED;
 }
 
+SaAisErrorT saImmOmAdminOperationContinuationClear_o2(SaImmAdminOwnerHandleT 
ownerHandle,
+                                                     SaConstStringT 
objectName, SaImmContinuationIdT continuationId)
+{
+       TRACE_2("saImmOmAdminOperationContinuationClear not yet implemented");
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 
 SaAisErrorT saImmOmClassCreate_2(SaImmHandleT immHandle,
                                 const SaImmClassNameT className,
@@ -5225,6 +5291,13 @@ SaAisErrorT saImmOmAccessorFinalize(SaIm
        return rc;
 }
 
+SaAisErrorT saImmOmAccessorGet_o2(SaImmAccessorHandleT accessorHandle,
+                                SaConstStringT objectName,
+                                const SaImmAttrNameT *attributeNames, 
SaImmAttrValuesT_2 ***attributes)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmAccessorGet_2(SaImmAccessorHandleT accessorHandle,
                                 const SaNameT *objectName,
                                 const SaImmAttrNameT *attributeNames, 
SaImmAttrValuesT_2 ***attributes)
@@ -6016,6 +6089,19 @@ SaAisErrorT immsv_finalize_sync(SaImmHan
        return rc;
 }
 
+
+
+SaAisErrorT saImmOmSearchInitialize_o2(SaImmHandleT immHandle,
+                                     SaConstStringT rootName,
+                                     SaImmScopeT scope,
+                                     SaImmSearchOptionsT searchOptions,
+                                     const SaImmSearchParametersT_2 
*searchParam,
+                                     const SaImmAttrNameT *attributeNames, 
SaImmSearchHandleT *searchHandle)
+{
+       TRACE_2("saImmOmSearchInitialize_o2 not yet implemented");
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmSearchInitialize_2(SaImmHandleT immHandle,
                                      const SaNameT *rootName,
                                      SaImmScopeT scope,
@@ -6419,6 +6505,11 @@ lock_fail:
        return rc;
 }
 
+SaAisErrorT saImmOmSearchNext_o2(SaImmSearchHandleT searchHandle, SaStringT 
*objectName, SaImmAttrValuesT_2 ***attributes)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmSearchNext_2(SaImmSearchHandleT searchHandle, SaNameT 
*objectName, SaImmAttrValuesT_2 ***attributes)
 {
        SaAisErrorT error = SA_AIS_OK;
@@ -6911,6 +7002,12 @@ SaAisErrorT saImmOmSearchFinalize(SaImmS
        return error;
 }
 
+SaAisErrorT saImmOmAdminOwnerSet_o2(SaImmAdminOwnerHandleT adminOwnerHandle,
+                                const SaConstStringT *objectNames, SaImmScopeT 
scope)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmAdminOwnerSet(SaImmAdminOwnerHandleT adminOwnerHandle,
                                 const SaNameT **objectNames, SaImmScopeT scope)
 {
@@ -7120,6 +7217,13 @@ SaAisErrorT saImmOmAdminOwnerSet(SaImmAd
        return rc;
 }
 
+SaAisErrorT saImmOmAdminOwnerRelease_o2(SaImmAdminOwnerHandleT 
adminOwnerHandle,
+                                    const SaConstStringT *objectNames, 
SaImmScopeT scope)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
+
 SaAisErrorT saImmOmAdminOwnerRelease(SaImmAdminOwnerHandleT adminOwnerHandle,
                                     const SaNameT **objectNames, SaImmScopeT 
scope)
 {
@@ -7323,6 +7427,11 @@ SaAisErrorT saImmOmAdminOwnerRelease(SaI
        return rc;
 }
 
+SaAisErrorT saImmOmAdminOwnerClear_o2(SaImmHandleT immHandle, const 
SaConstStringT *objectNames, SaImmScopeT scope)
+{
+       return SA_AIS_ERR_NOT_SUPPORTED;
+}
+
 SaAisErrorT saImmOmAdminOwnerClear(SaImmHandleT immHandle, const SaNameT 
**objectNames, SaImmScopeT scope)
 {
        SaAisErrorT rc = SA_AIS_OK;
diff --git a/osaf/libs/saf/include/saImmOi_A_2_11.h 
b/osaf/libs/saf/include/saImmOi_A_2_11.h
--- a/osaf/libs/saf/include/saImmOi_A_2_11.h
+++ b/osaf/libs/saf/include/saImmOi_A_2_11.h
@@ -68,4 +68,6 @@ extern "C" {
 }
 #endif
 
+#include <saImmOi_A_2_14.h>
+
 #endif   /* _SA_IMM_OI_A_2_11_H */
diff --git a/osaf/libs/saf/include/saImmOi_A_2_14.h 
b/osaf/libs/saf/include/saImmOi_A_2_14.h
new file mode 100644
--- /dev/null
+++ b/osaf/libs/saf/include/saImmOi_A_2_14.h
@@ -0,0 +1,122 @@
+/*      -*- OpenSAF  -*-
+ *
+ * (C) Copyright 2014 The OpenSAF Foundation
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed
+ * under the GNU Lesser General Public License Version 2.1, February 1999.
+ * The complete license can be accessed from the following location:
+ * http://opensource.org/licenses/lgpl-license.php
+ * See the Copying file included with the OpenSAF distribution for full
+ * licensing terms.
+ *
+ * Author(s): Ericsson AB
+ */
+
+/*
+ * DESCRIPTION:
+ *   This file provides the suggested additions to the C language binding for 
+ *   the Service Availability(TM) Forum Information Model Management Service 
(IMM).
+ *   It contains only the prototypes and type definitions that are part of this
+ *   proposed addition. 
+ *   These additions are currently NON STANDARD. But the intention is to get 
these
+ *   additions approved formally by SAF in the future.
+ *
+ *   For detailed explanation of the new API, see 
osaf/services/saf/immsv/README.
+ */
+
+
+#ifndef _SA_IMM_OI_A_2_14_H
+#define _SA_IMM_OI_A_2_14_H
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+       /* From 5.5.4  */
+       typedef SaAisErrorT
+        (*SaImmOiRtAttrUpdateCallbackT_o2) (SaImmOiHandleT immOiHandle,
+                                         SaConstStringT objectName, const 
SaImmAttrNameT *attributeNames);
+       /* From 5.6.1 */
+       typedef SaAisErrorT
+        (*SaImmOiCcbObjectCreateCallbackT_o2) (SaImmOiHandleT immOiHandle,
+                                              SaImmOiCcbIdT ccbId,
+                                              const SaImmClassNameT className,
+                                              const SaNameT *parentName, const 
SaImmAttrValuesT_2 **attr);
+
+       /* From 5.6.2  */
+       typedef SaAisErrorT
+        (*SaImmOiCcbObjectDeleteCallbackT_o2) (SaImmOiHandleT immOiHandle,
+                                            SaImmOiCcbIdT ccbId, const SaNameT 
*objectName);
+       /* From 5.6.3  */
+       typedef SaAisErrorT
+        (*SaImmOiCcbObjectModifyCallbackT_o2) (SaImmOiHandleT immOiHandle,
+                                              SaImmOiCcbIdT ccbId,
+                                              const SaNameT *objectName, const 
SaImmAttrModificationT_2 **attrMods);
+
+       /* From 5.7.1  */
+       typedef void
+        (*SaImmOiAdminOperationCallbackT_o2) (SaImmOiHandleT immOiHandle,
+                                             SaInvocationT invocation,
+                                             const SaNameT *objectName,
+                                             SaImmAdminOperationIdT 
operationId,
+                                             const 
SaImmAdminOperationParamsT_2 **params);
+
+       /* SaImmOiCallbacksT_2 */
+       typedef struct {
+               SaImmOiAdminOperationCallbackT_o2 saImmOiAdminOperationCallback;
+               SaImmOiCcbAbortCallbackT saImmOiCcbAbortCallback;
+               SaImmOiCcbApplyCallbackT saImmOiCcbApplyCallback;
+               SaImmOiCcbCompletedCallbackT saImmOiCcbCompletedCallback;
+               SaImmOiCcbObjectCreateCallbackT_o2 
saImmOiCcbObjectCreateCallback;
+               SaImmOiCcbObjectDeleteCallbackT_o2 
saImmOiCcbObjectDeleteCallback;
+               SaImmOiCcbObjectModifyCallbackT_o2 
saImmOiCcbObjectModifyCallback;
+               SaImmOiRtAttrUpdateCallbackT_o2 saImmOiRtAttrUpdateCallback;
+       } SaImmOiCallbacksT_o2;
+
+
+       /* 5.3.1 saImmOiInitialize() */
+       extern SaAisErrorT
+        saImmOiInitialize_o2(SaImmOiHandleT *immOiHandle,
+                            const SaImmOiCallbacksT_o2 *immOiCallbacks, 
SaVersionT *version);
+
+
+       extern SaAisErrorT
+        saImmOiObjectImplementerSet_o2(SaImmOiHandleT immOiHandle, 
SaConstStringT objectName, SaImmScopeT scope);
+
+       /* 5.4.6 saImmOiObjectImplementerRelease() */
+
+       extern SaAisErrorT
+        saImmOiObjectImplementerRelease_o2(SaImmOiHandleT immOiHandle, 
SaConstStringT objectName, SaImmScopeT scope);
+
+
+       /*
+        *
+        * Runtime Object Management Routines
+        *
+        */
+
+       /* 5.5.1 saImmOiRtObjectCreate() */
+
+       extern SaAisErrorT
+        saImmOiRtObjectCreate_o2(SaImmOiHandleT immOiHandle,
+                                const SaImmClassNameT className,
+                                SaConstStringT objectName, const 
SaImmAttrValuesT_2 **attrValues);
+
+       /* 5.5.2 saImmOiRtObjectDelete() */
+
+       extern SaAisErrorT
+        saImmOiRtObjectDelete_o2(SaImmOiHandleT immOiHandle, SaConstStringT 
objectName);
+
+       /* 5.5.3 saImmOiRtObjectUpdate() */
+
+       extern SaAisErrorT
+        saImmOiRtObjectUpdate_o2(SaImmOiHandleT immOiHandle,
+                                SaConstStringT objectName, const 
SaImmAttrModificationT_2 **attrMods);
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif   /* _SA_IMM_OI_A_2_14_H */
diff --git a/osaf/libs/saf/include/saImmOm_A_2_13.h 
b/osaf/libs/saf/include/saImmOm_A_2_13.h
--- a/osaf/libs/saf/include/saImmOm_A_2_13.h
+++ b/osaf/libs/saf/include/saImmOm_A_2_13.h
@@ -71,4 +71,6 @@ extern "C" {
 }
 #endif
 
+#include <saImmOm_A_2_14.h>
+
 #endif   /* _SA_IMM_OM_A_2_13_H */
diff --git a/osaf/libs/saf/include/saImmOm_A_2_14.h 
b/osaf/libs/saf/include/saImmOm_A_2_14.h
new file mode 100644
--- /dev/null
+++ b/osaf/libs/saf/include/saImmOm_A_2_14.h
@@ -0,0 +1,166 @@
+/*      -*- OpenSAF  -*-
+ *
+ * (C) Copyright 2014 The OpenSAF Foundation
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed
+ * under the GNU Lesser General Public License Version 2.1, February 1999.
+ * The complete license can be accessed from the following location:
+ * http://opensource.org/licenses/lgpl-license.php
+ * See the Copying file included with the OpenSAF distribution for full
+ * licensing terms.
+ *
+ * Author(s): Ericsson AB
+ */
+
+/*
+ * DESCRIPTION:
+ *   This file provides the suggested additions to the C language binding for 
+ *   the Service Availability(TM) Forum Information Model Management Service 
(IMM).
+ *   It contains only the prototypes and type definitions that are part of this
+ *   proposed addition. 
+ *   These additions are currently NON STANDARD. But the intention is to get 
these
+ *   additions approved formally by SAF in the future.
+ *
+ *   For detailed explanation of the new API, see 
osaf/services/saf/immsv/README.
+ */
+
+
+#ifndef _SA_IMM_OM_A_2_14_H
+#define _SA_IMM_OM_A_2_14_H
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+       /* 4.5.1 saImmOmSearchInitialize() */
+       extern SaAisErrorT
+        saImmOmSearchInitialize_o2(SaImmHandleT immHandle,
+                                   SaConstStringT rootName,
+                                   SaImmScopeT scope,
+                                   SaImmSearchOptionsT searchOptions,
+                                   const SaImmSearchParametersT_2 
*searchParam, 
+                                   const SaImmAttrNameT *attributeNames, 
SaImmSearchHandleT *searchHandle);
+
+       /* 4.5.2 saImmOmSearchNext() */
+       extern SaAisErrorT
+        saImmOmSearchNext_o2(SaImmSearchHandleT searchHandle, SaStringT 
*objectName, SaImmAttrValuesT_2 ***attributes);
+
+       /* 4.6.2 saImmOmAccessorGet() */
+       extern SaAisErrorT
+        saImmOmAccessorGet_o2(SaImmAccessorHandleT accessorHandle,
+                              SaConstStringT objectName,
+                              const SaImmAttrNameT *attributeNames, 
SaImmAttrValuesT_2 ***attributes);
+
+
+
+       /* 4.7.2 saImmOmAdminOwnerSet() */
+
+       extern SaAisErrorT
+        saImmOmAdminOwnerSet_o2(SaImmAdminOwnerHandleT ownerHandle, const 
SaConstStringT *objectNames, SaImmScopeT scope);
+
+       /* 4.7.3 saImmOmAdminOwnerRelease() */
+
+       extern SaAisErrorT
+        saImmOmAdminOwnerRelease_o2(SaImmAdminOwnerHandleT ownerHandle, const 
SaConstStringT *objectNames, SaImmScopeT scope);
+
+       /* 4.7.5 saImmOmAdminOwnerClear() */
+
+       extern SaAisErrorT
+        saImmOmAdminOwnerClear_o2(SaImmHandleT immHandle, const SaConstStringT 
*objectNames, SaImmScopeT scope);
+
+
+
+       /* 4.8.2 saImmOmCcbObjectCreate() */
+       extern SaAisErrorT
+        saImmOmCcbObjectCreate_o2(SaImmCcbHandleT ccbHandle,
+                                  const SaImmClassNameT className,
+                                  SaConstStringT objectName, const 
SaImmAttrValuesT_2 **attrValues);
+
+       /* 4.8.3 saImmOmCcbObjectDelete() */
+
+       extern SaAisErrorT
+        saImmOmCcbObjectDelete_o2(SaImmCcbHandleT ccbHandle, SaConstStringT 
objectName);
+
+       /* 4.8.4 saImmOmCcbObjectModify() */
+       extern SaAisErrorT
+        saImmOmCcbObjectModify_o2(SaImmCcbHandleT ccbHandle,
+                                  SaConstStringT objectName, const 
SaImmAttrModificationT_2 **attrMods);
+
+
+       /* 4.9.1 saImmOmAdminOperationInvoke(),
+          saImmOmAdminOperationInvokeAsync() 
+          See http://devel.opensaf.org/ticket/1764 */
+       extern SaAisErrorT
+        saImmOmAdminOperationInvoke_o214(
+                                        SaImmAdminOwnerHandleT ownerHandle,
+                                        SaConstStringT objectName,
+                                        SaImmContinuationIdT continuationId,
+                                        SaImmAdminOperationIdT operationId,
+                                        const SaImmAdminOperationParamsT_2 
**params,
+                                        SaAisErrorT *operationReturnValue,
+                                        SaTimeT timeout,
+                                        SaImmAdminOperationParamsT_2 
***returnParams);
+
+       extern SaAisErrorT
+        saImmOmAdminOperationInvokeAsync_o2(SaImmAdminOwnerHandleT ownerHandle,
+                                            SaInvocationT invocation,
+                                            SaConstStringT objectName,
+                                            SaImmContinuationIdT 
continuationId,
+                                            SaImmAdminOperationIdT operationId,
+                                            const SaImmAdminOperationParamsT_2 
**params);
+
+       /* 4.9.3 saImmOmAdminOperationContinue(),
+          saImmOmAdminOperationContinueAsync() */
+
+       /* This is not implemented in OpenSAF, but define the API anyway for 
completenes. 
+           See http://devel.opensaf.org/ticket/1764 */
+
+       extern SaAisErrorT
+        saImmOmAdminOperationContinue_o214(
+                                           SaImmAdminOwnerHandleT ownerHandle,
+                                           SaConstStringT objectName,
+                                           SaImmContinuationIdT continuationId,
+                                           SaAisErrorT *operationReturnValue,
+                                           SaImmAdminOperationParamsT_2 
***returnParams);
+
+       extern SaAisErrorT
+        saImmOmAdminOperationContinueAsync_o2(SaImmAdminOwnerHandleT 
ownerHandle,
+                                              SaInvocationT invocation,
+                                              SaConstStringT objectName, 
SaImmContinuationIdT continuationId);
+
+       /* 4.9.4 saImmOmAdminOperationContinueClear() */
+
+       extern SaAisErrorT
+        saImmOmAdminOperationContinuationClear_o2(SaImmAdminOwnerHandleT 
ownerHandle,
+                                                  SaConstStringT objectName, 
SaImmContinuationIdT continuationId);
+
+
+       /* 4.2.5 SaImmAttrFlagsT */
+       /*
+#define SA_IMM_ATTR_MULTI_VALUE   0x00000001
+#define SA_IMM_ATTR_RDN           0x00000002
+#define SA_IMM_ATTR_CONFIG        0x00000100
+#define SA_IMM_ATTR_WRITABLE      0x00000200
+#define SA_IMM_ATTR_INITIALIZED   0x00000400
+#define SA_IMM_ATTR_RUNTIME       0x00010000
+#define SA_IMM_ATTR_PERSISTENT    0x00020000
+#define SA_IMM_ATTR_CACHED        0x00040000
+#define SA_IMM_ATTR_NO_DUPLICATES 0x0000000001000000 / * See: 
http://devel.opensaf.org/ticket/1545
+                                                        Supported in OpenSaf 
4.3 * /
+#define SA_IMM_ATTR_NOTIFY        0x0000000002000000 / * See: 
http://devel.opensaf.org/ticket/2883
+                                                        Supported in OpenSaf 
4.3 * /
+#define SA_IMM_ATTR_NO_DANGLING   0x0000000004000000    / * See: 
https://sourceforge.net/p/opensaf/tickets/49/
+                                                         Supported in OpenSaf 
4.4 * /
+       */
+
+#define SA_IMM_ATTR_DN            0x0000000008000000    /* See: 
https://sourceforge.net/p/opensaf/tickets/643
+                                                         Supported in OpenSaf 
4.5 */
+
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif   /* _SA_IMM_OM_A_2_14_H */

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to