00001
00002
00003
00004
00005
00014
00015
00016 #ifndef IDFR_H
00017 #define IDFR_H
00018
00019 #include <tc/tc_startup.h>
00020 #include <common/emh_const.h>
00021 #include <tccore/idfr_errors.h>
00022 #include <user_exits/user_exits.h>
00023 #include <tccore/libtccore_exports.h>
00024
00071 #define IDENTIFIER_class_name_c "Identifier"
00072 #define IDENTIFIER_rev_type_name_c "IdentifierRev"
00073 #define IDENTIFIER_id "idfr_id"
00074 #define IDENTIFIER_idcontext "idcontext"
00075 #define IDENTIFIER_altidof "altid_of"
00076 #define IDENTIFIER_dispdefault "disp_default"
00077 #define IDENTIFIER_supplcontext "suppl_context"
00078 #define ALIASID_relation "IMAN_aliasid"
00079
00085 #define IDENTIFIER_create_alternate_msg "IDENTIFIER_create_alternate"
00086 #define IDENTIFIER_revise_alternate_msg "IDENTIFIER_revise_alternate"
00087 #define IDENTIFIER_saveas_alternate_msg "IDENTIFIER_saveas_alternate"
00088 #define IDENTIFIER_create_alias_msg "IDENTIFIER_create_alias"
00089
00091 #ifdef __cplusplus
00092 extern "C"{
00093 #endif
00094
00107 extern TCCORE_API int IDFR_create_aliasid (
00108 const char* identifier_type,
00109 tag_t* new_identifier_tag
00110 );
00111
00136 extern TCCORE_API int IDFR_create_altid (
00137 const char* identifier_type,
00138 tag_t idfbl_tag,
00139 tag_t idfbl_rev_tag,
00140 tag_t idcontext_tag,
00141 tag_t* altid_tag,
00142 tag_t* altid_rev_tag
00143 );
00144
00153 extern TCCORE_API int IDFR_revise_altid (
00154 tag_t altid_or_rev_tag,
00155 tag_t idfbl_rev_tag,
00156 tag_t* new_altid_rev_tag
00157 );
00158
00165 extern TCCORE_API int IDFR_saveas_altid (
00166 tag_t altid_rev_tag,
00167 tag_t idfbl_rev_tag,
00168 tag_t* new_altid_rev_tag
00169 );
00170
00174 extern TCCORE_API int IDFR_ask_aliasidof (
00175 tag_t identifier_tag,
00176 int* num_identifiables,
00177 tag_t** identifiable_tags
00178 );
00179
00187 extern TCCORE_API int IDFR_ask_altidof (
00188 tag_t identifier_tag,
00189 tag_t* identifiable_tag
00190 );
00191
00195 extern TCCORE_API int IDFR_ask_id (
00196 tag_t identifier_tag,
00197 char** identifier_id
00198 );
00199
00207 extern TCCORE_API int IDFR_ask_idcontext (
00208 tag_t identifier_tag,
00209 tag_t* idcontext_tag
00210 );
00211
00221 extern TCCORE_API int IDFR_ask_supplcontext (
00222 tag_t identifier_tag,
00223 tag_t* supplcontext_tag
00224 );
00225
00226 extern TCCORE_API int IDFR_set_altidof (
00227 tag_t identifier_tag,
00228 tag_t identifiable_tag
00229 );
00230
00237 extern TCCORE_API int IDFR_set_id (
00238 tag_t identifier_tag,
00239 const char* identifier_id
00240 );
00241
00242 extern TCCORE_API int IDFR_set_idcontext (
00243 tag_t identifier_tag,
00244 tag_t idcontext_tag
00245 );
00246
00247 extern TCCORE_API int IDFR_set_supplcontext (
00248 tag_t identifier_tag,
00249 tag_t supplcontext_tag
00250 );
00251
00255 extern TCCORE_API int IDFR_new_alt_id (
00256 tag_t idcontext_tag,
00257 const char* idfr_type,
00258 char** new_id
00259 );
00260
00266 extern TCCORE_API int IDFR_new_alt_ids (
00267 tag_t idcontext_tag,
00268 const char* idfr_type,
00269 char** new_id,
00270 char** new_rev_id
00271 );
00272
00276 extern TCCORE_API int IDFR_new_rev_id (
00277 tag_t idfr_rev_tag,
00278 char** new_rev_id
00279 );
00280
00281 extern TCCORE_API int IDFR_validate_alt_id (
00282 tag_t idcontext_tag,
00283 const char* idfr_type,
00284 const char* new_id,
00285 const char* pattern_name,
00286 char** modified_id,
00287 IDValid_e* status
00288 );
00289
00290 extern TCCORE_API int IDFR_validate_alt_ids (
00291 tag_t idcontext_tag,
00292 const char* idfr_type,
00293 const char* new_id,
00294 const char* new_rev_id,
00295 const char* pattern_name,
00296 char** modified_id,
00297 char** modified_rev_id,
00298 IDValid_e* status
00299 );
00300
00301 extern TCCORE_API int IDFR_validate_rev_id (
00302 tag_t idfr_rev_tag,
00303 const char* new_rev_id,
00304 const char* pattern_name,
00305 char** modified_id,
00306 IDValid_e* status
00307 );
00308
00312 extern TCCORE_API int IDFR_add_aliasidof (
00313 tag_t identifier_tag,
00314 int num_identifiables,
00315 tag_t* identifiable_tags
00316 );
00317
00321 extern TCCORE_API int IDFR_remove_aliasidof (
00322 tag_t identifier_tag,
00323 int num_identifiables,
00324 tag_t* identifiable_tags
00325 );
00326
00333 extern TCCORE_API int IDFR_find_identifiers (
00334 const char* id,
00335 tag_t idcontext_tag,
00336 int* num_identifiers,
00337 tag_t** identifier_tags
00338 );
00339
00343 extern TCCORE_API int IDFR_list_suppl_identifiers(
00344 tag_t master_idfr_tag,
00345 int* num_suppl,
00346 tag_t** suppl_idfr_tags
00347 );
00348
00353 extern TCCORE_API int IDFR_find_suppl_identifiers(
00354 tag_t master_idfr_tag,
00355 const char* suppl_id,
00357 int* num_suppl,
00358 tag_t** suppl_idfr_tags
00359 );
00360
00365 extern TCCORE_API int IDFR_idfbl_ask_disp_default (
00366 tag_t identifiable_tag,
00367 tag_t* altid_tag
00368 );
00369
00376 extern TCCORE_API int IDFR_idfbl_set_disp_default (
00377 tag_t identifiable_tag,
00378 tag_t altid_tag
00379 );
00380
00386 extern TCCORE_API int IDFR_idfbl_ask_disp_altid (
00387 tag_t identifiable_tag,
00388 tag_t iddisprule_tag,
00389 tag_t* altid_tag
00390 );
00391
00396 extern TCCORE_API int IDFR_idfbl_list_altids (
00397 tag_t identifiable_tag,
00398 int* num_altids,
00399 tag_t** altid_tags
00400 );
00401
00406 extern TCCORE_API int IDFR_idfbl_list_aliasids (
00407 tag_t identifiable_tag,
00408 int* num_aliases,
00409 tag_t** aliasid_tags
00410 );
00411
00417 extern TCCORE_API int IDFR_idfbl_find_altids (
00418 tag_t identifiable_tag,
00419 const char* id,
00420 tag_t idcontext_tag,
00421 int* num_altids,
00422 tag_t** altid_tags
00423 );
00424
00433 extern TCCORE_API int IDFR_idfbl_find_altidsof (
00434 const char* id,
00435 tag_t idcontext_tag,
00436 tag_t identifiable_class_tag,
00437 int* num_identifiables,
00438 tag_t** identifiable_tags
00439 );
00440
00443 #ifdef __cplusplus
00444 }
00445 #endif
00446
00447 #include <tccore/libtccore_undef.h>
00448
00449 #endif