framework/c/inc/le_safeRef.h
Go to the documentation of this file.
00001 
00182 #ifndef LEGATO_SAFEREF_INCLUDE_GUARD
00183 #define LEGATO_SAFEREF_INCLUDE_GUARD
00184 
00185 //--------------------------------------------------------------------------------------------------
00189 //--------------------------------------------------------------------------------------------------
00190 typedef struct le_ref_Map* le_ref_MapRef_t;
00191 
00192 
00193 //--------------------------------------------------------------------------------------------------
00197 //--------------------------------------------------------------------------------------------------
00198 typedef struct le_ref_Iter* le_ref_IterRef_t;
00199 
00200 
00201 //--------------------------------------------------------------------------------------------------
00207 //--------------------------------------------------------------------------------------------------
00208 le_ref_MapRef_t le_ref_CreateMap
00209 (
00210     const char* name,   
00211 
00212     size_t      maxRefs 
00213 
00214 );
00215 
00216 
00217 //--------------------------------------------------------------------------------------------------
00224 //--------------------------------------------------------------------------------------------------
00225 void* le_ref_CreateRef
00226 (
00227     le_ref_MapRef_t mapRef, 
00228     void*           ptr     
00229 );
00230 
00231 
00232 //--------------------------------------------------------------------------------------------------
00240 //--------------------------------------------------------------------------------------------------
00241 void* le_ref_Lookup
00242 (
00243     le_ref_MapRef_t mapRef, 
00244     void*           safeRef 
00245 );
00246 
00247 
00248 //--------------------------------------------------------------------------------------------------
00252 //--------------------------------------------------------------------------------------------------
00253 void le_ref_DeleteRef
00254 (
00255     le_ref_MapRef_t mapRef, 
00256     void*           safeRef 
00257 );
00258 
00259 
00260 //--------------------------------------------------------------------------------------------------
00270 //--------------------------------------------------------------------------------------------------
00271 le_ref_IterRef_t le_ref_GetIterator
00272 (
00273     le_ref_MapRef_t mapRef 
00274 );
00275 
00276 
00277 //--------------------------------------------------------------------------------------------------
00286 //--------------------------------------------------------------------------------------------------
00287 le_result_t le_ref_NextNode
00288 (
00289     le_ref_IterRef_t iteratorRef 
00290 );
00291 
00292 
00293 //--------------------------------------------------------------------------------------------------
00302 //--------------------------------------------------------------------------------------------------
00303 void const * le_ref_GetSafeRef
00304 (
00305     le_ref_IterRef_t iteratorRef 
00306 );
00307 
00308 
00309 //--------------------------------------------------------------------------------------------------
00318 //--------------------------------------------------------------------------------------------------
00319 void const * le_ref_GetValue
00320 (
00321     le_ref_IterRef_t iteratorRef 
00322 );
00323 
00324 
00325 #endif // LEGATO_SAFEREF_INCLUDE_GUARD
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines