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