The corresponding set of immUtils functions would also be provided.

In fact the immUtils variant of the SaStringT-ified IMM API could be provided
based only on a delivery of the long DN support #191. 
This should be done first to secure the long DN support in the next
OpenSAF release. 



---

** [tickets:#643] IMM: API that replaces SaNameT with SaStringT and 
SA_IMM_ATTR_DN**

**Status:** unassigned
**Created:** Thu Nov 28, 2013 05:00 PM UTC by Anders Bjornerstedt
**Last Updated:** Thu Nov 28, 2013 05:03 PM UTC
**Owner:** Anders Bjornerstedt

The IMM service should provide an updated API where all use of the troublesome
SaNameT type is replaced by the SaStringT type. Also needed is a new flag value
for attribute definitions: SA_IMM_ATTR_DN. 

Defining an attribute in an IMM class definition on the SaStringT type and
also setting the flag SA_IMM_ATTR_DN, will mean that the attribute is intended
to hold a value that should be a DN. 

Other flags that make sense to also set on such an attribute definition where
applicable are:

    SA_IMM_ATTR_RDN if this is the RDN attribute. Just as having SaNameT the 
    type of an RDN attribute indicates that the class is an association class,
    having SaStringT and SA_IMM_ATTR_DN combined with SA_IMM_ATTR_RDN would 
    also indicate that this is an association class.

    SA_IMM_ATTR_NO_DANGLING. Currently (OpenSAF 4.4) will only be allowed 
    on attributes of type SaNameT, but will of course be allowed also on
    attributes of type SaStringT if the SA_IMM_ATTR_DN flag is also set. 

All the other flags may also be used in combination with SA_IMM_ATTR_DN, with
the normal meaning. 

Given such new DN typing, the following new API should be defined:

SaAisErrorT
saImmOmSearchInitialize_o3(SaImmHandleT immHandle,
                           const SaStringT rootName,
                           SaImmScopeT scope,
                           SaImmSearchOptionsT searchOptions,
                           const SaImmSearchParametersT_2 *searchParam,
                           const SaImmAttrNameT *attributeNames,
                           SaImmSearchHandleT *searchHandle);
----------------------
SaAisErrorT
saImmOmSearchNext_o3(SaImmSearchHandleT searchHandle,
                     SaStringT *objectName,  /* out */
                     SaImmAttrValuesT_2  ***attributes);
--------------------
SaAisErrorT
saImmOmAccessorGet_o3(SaImmAccessorHandleT accessorHandle,
                      const SaStringT objectName, /* in */
                      const SaImmAttrNameT *attributeNames,
                      SaImmAttrValuesT_2 ***attributes);
--------------------------------------------------------
SaAisErrorT
saImmOmAdminOwnerSet_o3(SaImmAdminOwnerHandleT ownerHandle,
                        const SaStringT *objectNames. 
                        SaImmScopeT scope);
----------------------------------------------------------
SaAisErrorT
saImmOmAdminOwnerRelease_o3(SaImmAdminOwnerHandleT ownerHandle,
                            const SaStringT *objectNames. 
                            SaImmScopeT scope);
--------------------------------------------------------------
SaAisErrorT
saImmOmCcbObjectCreate_o3(SaImmCcbHandleT ccbHandle,
                          const SaImmClassNameT className,
                          const SaStringT objectName, /* in */
                          const SaImmAttrValuesT_2 **attrValues);

/* Argument objecName replaces parentName. See #38 */
---------------------------------------------------------------------
SaAisErrorT
saImmOmCcbObjectDelete_o3(SaImmCcbHandleT ccbHandle,
                       const SaStringT objectName);
--------------------------------------------------------------------
SaAisErrorT
saImmOmCcbObjectModify_o3(SaImmCcbHandleT ccbHandle,
                          const SaStringT objectName,
                          const SaImmAttrModificationT_2 **attrMods);
--------------------------------------------------------------------
SaAisErrorT
saImmOmAdminOperationInvoke_o3(SaImmAdminOwnerHandleT ownerHandle,
                               const SaStringT objectName,
                               SaImmContinuationIdT continuationId,
                               SaImmAdminOperationIdT operationId,
                               const SaImmAdminOperationParamsT_2 **params,
                               SaAisErrorT *operationReturnValue,
                               SaTimeT timeout);
------------------------------------------------------------

The pattern should be clear.

Corresponding OI APIs for both callbacks and downcalls where SaNameT parameter
is replaced with SaStringT would also be provided. 






---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to