00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __SR_NAMETAGS_H
00021 #define __SR_NAMETAGS_H
00022
00023
00024
00025 #include "SR_NametagsPrefix.h"
00026 #include "ptypes.h"
00027 #include "pstdio.h"
00028
00029 #include "SR_NametagDefs.h"
00030 #include "ESR_ReturnCode.h"
00031
00032
00043 typedef struct SR_Nametags_t
00044 {
00051 ESR_ReturnCode(*load)(struct SR_Nametags_t* self, const LCHAR* filename);
00052
00059 ESR_ReturnCode(*save)(struct SR_Nametags_t* self, const LCHAR* filename);
00060
00067 ESR_ReturnCode(*add)(struct SR_Nametags_t* self, SR_Nametag* nametag);
00068
00075 ESR_ReturnCode(*remove)(struct SR_Nametags_t* self, const LCHAR* id);
00076
00083 ESR_ReturnCode(*getSize)(struct SR_Nametags_t* self, size_t* result);
00084
00093 ESR_ReturnCode(*get)(struct SR_Nametags_t* self, const LCHAR* id, SR_Nametag** nametag);
00094
00103 ESR_ReturnCode(*getAtIndex)(struct SR_Nametags_t* self, size_t index, SR_Nametag** nametag);
00104
00112 ESR_ReturnCode(*contains)(struct SR_Nametags_t* self, const LCHAR* id, ESR_BOOL* result);
00113
00119 ESR_ReturnCode(*destroy)(struct SR_Nametags_t* self);
00120 }
00121 SR_Nametags;
00122
00134 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsCreate(SR_Nametags** self);
00135
00142 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsLoad(SR_Nametags* self, const LCHAR* filename);
00143
00150 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsSave(SR_Nametags* self, const LCHAR* filename);
00151
00158 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsAdd(SR_Nametags* self, SR_Nametag* nametag);
00159
00166 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsRemove(SR_Nametags* self, const LCHAR* id);
00167
00174 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsGetSize(SR_Nametags* self, size_t* result);
00175
00184 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsGet(SR_Nametags* self, const LCHAR* id, SR_Nametag** nametag);
00185
00194 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsGetAtIndex(SR_Nametags* self, size_t index, SR_Nametag** nametag);
00195
00203 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsContains(SR_Nametags* self, const LCHAR* id, ESR_BOOL* result);
00204
00210 SREC_NAMETAG_API ESR_ReturnCode SR_NametagsDestroy(SR_Nametags* self);
00211
00220 #endif