le_safeRef.h
Go to the documentation of this file.
18 * <b> Safe References </b> are designed to help protect against damaged or stale references being45 * At this point, if the Client calls an API function and passes that same (now invalid) Safe Reference186 //--------------------------------------------------------------------------------------------------188 * Reference to a "Reference Map" object, which stores mappings from Safe References to pointers.190 //--------------------------------------------------------------------------------------------------194 //--------------------------------------------------------------------------------------------------198 //--------------------------------------------------------------------------------------------------202 //--------------------------------------------------------------------------------------------------208 //--------------------------------------------------------------------------------------------------218 //--------------------------------------------------------------------------------------------------220 * Creates a Safe Reference, storing a mapping between that reference and a specified pointer for225 //--------------------------------------------------------------------------------------------------233 //--------------------------------------------------------------------------------------------------241 //--------------------------------------------------------------------------------------------------249 //--------------------------------------------------------------------------------------------------253 //--------------------------------------------------------------------------------------------------261 //--------------------------------------------------------------------------------------------------264 * controlled by the calling function using the le_ref_NextNode() function. There is one iterator268 * @return Returns A reference to a hashmap iterator which is ready for le_hashmap_NextNode() to be271 //--------------------------------------------------------------------------------------------------278 //--------------------------------------------------------------------------------------------------286 //--------------------------------------------------------------------------------------------------293 //--------------------------------------------------------------------------------------------------295 * Retrieves a pointer to the safe ref iterator is currently pointing at. If the iterator has just299 * @return A pointer to the current key, or NULL if the iterator has been invalidated or is not ready.302 //--------------------------------------------------------------------------------------------------309 //--------------------------------------------------------------------------------------------------312 * has just been initialized and le_ref_NextNode() has not been called, or if the iterator has been315 * @return A pointer to the current value, or NULL if the iterator has been invalidated or is not318 //--------------------------------------------------------------------------------------------------le_result_t le_ref_NextNode(le_ref_IterRef_t iteratorRef)const void * le_ref_GetSafeRef(le_ref_IterRef_t iteratorRef)void * le_ref_Lookup(le_ref_MapRef_t mapRef, void *safeRef)le_ref_IterRef_t le_ref_GetIterator(le_ref_MapRef_t mapRef)void * le_ref_CreateRef(le_ref_MapRef_t mapRef, void *ptr)le_ref_MapRef_t le_ref_CreateMap(const char *name, size_t maxRefs)void * le_ref_GetValue(le_ref_IterRef_t iteratorRef)void le_ref_DeleteRef(le_ref_MapRef_t mapRef, void *safeRef)