- Global CBInvokeMethod (const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *objPath, const char *method, const CMPIArgs *in, CMPIArgs *out, CMPIStatus *rc)
- TODO_KS AM: I think the CMRelease() is incorrect, because the object is not a result of CMClone().
Karl to verify whether the using release() on objects resulting from newXXX() does any harm in the OpenPegasus implementation.
- Global CMAssociationMIFactory (cn, miname)
- TODO_KS This macro is implemented differently in OpenPegasus; there is a 'try' block in place of 'provider->initialize(ctx)'. Need to find out why the difference and whether to update this header file.
- Global CMAssociationMIStub (pfx, miname, mbvar, hook)
- TBD KS: Need note about creating function that parallel others but with cap
Karl to figure out what that comment means.
- Global CMCalloc (const CMPIBroker *mb, size_t nElems, size_t sizeElem)
- New convenience function - please review.
- Global CMClone (obj, rc)
- TBD KS: test if we need brief in this and release doc
- Global CMFree (const CMPIBroker *mb, void *ptr)
- New convenience function - please review.
- Global CMFreeArgs (const CMPIBroker *mb, CMPIArgs *args)
- New convenience function - please review.
- Global CMFreeArray (const CMPIBroker *mb, CMPIArray *array)
- New convenience function - please review.
- Global CMFreeChars (const CMPIBroker *mb, char *chars)
- New convenience function - please review.
- Global CMFreeDateTime (const CMPIBroker *mb, CMPIDateTime *dt)
- New convenience function - please review.
- Global CMFreeInstance (const CMPIBroker *mb, CMPIInstance *inst)
- New convenience function - please review.
- Global CMFreeObjectPath (const CMPIBroker *mb, CMPIObjectPath *obj)
- New convenience function - please review.
- Global CMFreeSelectExp (const CMPIBroker *mb, CMPISelectExp *se)
- New convenience function - please review.
- Global CMFreeString (const CMPIBroker *mb, CMPIString *str)
- New convenience function - please review.
- Global CMIndicationMIFactory (cn, miname)
- TODO_KS This macro is implemented differently in OpenPegasus; there is a 'try' block in place of 'provider->initialize(ctx)'. Need to find out why the difference and whether to update this header file.
- Global CMInstanceMIFactory (cn, miname)
- TODO_KS This macro is implemented differently in OpenPegasus; there is a 'try' block in place of 'provider->initialize(ctx)'. Need to find out why the difference and whether to update this header file.
- Global CMInstanceMIStub (pfx, miname, mbvar, hook)
- TBD KS: We have first cut at example. Is this the way to go or would we be better with complete provider in an examples section?
AM: I think the example is good enough for the factory function. What would be good to have are examples for the actual provider functions, somewhere. That is too much for the example of this particular macro.
- Global CMIsArray (CMPIData data)
- TODO_KS This needs an example.
- Global CMIsNullObject (const void *objptr)
- TODO_KS The example seems to be somewhat confused. Why is a test of cop meaningful when it is not used at all, and cop2 is used instead?
Karl to review the example.
- Global CMIsNullValue (CMPIData data)
- TODO_KS The example is way too complex if it just intends to show how to use this function.
Karl to come up with simpler example.
- Global CMMalloc (const CMPIBroker *mb, size_t size)
- New convenience function - please review.
- Global CMMemMark (const CMPIBroker *mb, CMPIStatus *rc)
- New convenience function - please review.
- Global CMMemRelease (const CMPIBroker *mb, const CMPIGcStat *gc)
- New convenience function - please review.
- Global CMMethodMIFactory (cn, miname)
- TODO_KS This macro is implemented differently in OpenPegasus; there is a 'try' block in place of 'provider->initialize(ctx)'. Need to find out why the difference and whether to update this header file.
- Global CMNewInstance (const CMPIBroker *mb, const CMPIObjectPath *instPath, CMPIStatus *rc)
- TODO_KS AM: Example is too complex for this function. Simplify.
- Global CMNewString (const CMPIBroker *mb, const char *data, CMPIStatus *rc)
- TODO_KS AM: Clarify whether NULL is allowed as
data
argument. The example in the convenience function specifies NULL, but the 2.1 and 2.0 specs are silent about whether NULL is allowed.
Karl to double check in the implementation.
- Global CMPIBrokerExtFT::newThread )(CMPIThreadFunc start, void *parm, int detached)
- TODO_KS Karl to test the new function types in actual code, particularly with MSVC compiler: CMPIThreadFunc, CMPIThreadOnceFunc, CMPIThreadKeyCleanupFunc.
- Global CMPIBrokerExtFT::resolveFileName )(const char *libName)
- TODO_KS The old text in the description of the return value said:
"Space for this string has been obtained using POSIX malloc()
and must be released using POSIX free()
by the caller. In case no storage could be obtained for the complemented library name, returns NULL."
The spec says we changed that to auto-release by MB.
Karl to double check the implementation
- Global CMPIBrokerMemFT::freeSelectExp )(const CMPIBroker *mb, CMPISelectExp *se)
- TBD KS: Note that there appears to be no OpenPegasus use of any of these free functions.
- Global CMPIObjectPathFT::toString )(const CMPIObjectPath *op, CMPIStatus *rc)
- TBD AM: This function has no directly corresponding convenience function, because it is pretty much a duplicate of CMPIBrokerEncFT.toString() when used for CMPIObjectPath objects. So the convenience function section recommends its convenience function, CDToString(). Please review.
- Global CMPropertyMIFactory (cn, miname)
- TODO_KS This macro is implemented differently in OpenPegasus; there is a 'try' block in place of 'provider->initialize(ctx)'. Need to find out why the difference and whether to update this header file.
- Global CMProviderBase (miname)
- TODO_KS Document this macro.
- Global CMRealloc (const CMPIBroker *mb, void *ptr, size_t size)
- New convenience function - please review.
- Global CMSetProperty (const CMPIInstance *inst, const char *name, const CMPIValue *value, const CMPIType type)
- TODO_KS AM: Why do we have the
(CMPIValue *)
cast in the macro version?
We agreed that the cast should be removed because it hides type errors and has no apparent value.
Karl to test this against all of OpenPegasus providers.
- Global CMStrDup (const CMPIBroker *mb, const char *str)
- New convenience function - please review.