- **status**: unassigned --> accepted


---

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

**Status:** accepted
**Milestone:** 4.5.FC
**Created:** Thu Nov 28, 2013 05:00 PM UTC by Anders Bjornerstedt
**Last Updated:** Fri Nov 29, 2013 10:02 AM 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.
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to