00001
00002
00003
00004
00005
00017
00018
00019 #ifndef DATASET_H
00020 #define DATASET_H
00021
00022 #include <ae/ae_types.h>
00023 #include <tccore/workspaceobject.h>
00024 #include <ae/libae_exports.h>
00025
00086 typedef enum AE_reference_type_e
00087 {
00088 AE_BAD_REF_TYPE = 0,
00089 AE_ASSOCIATION,
00090 AE_PART_OF
00091 } AE_reference_type_t;
00092
00093 #ifdef __cplusplus
00094 extern "C"{
00095 #endif
00096
00101 extern AE_API int AE_dataset_extent(
00102 int* n_instances,
00103 tag_t** instances
00104 );
00105
00110 extern AE_API int AE_create_dataset(
00111 tag_t dataset_type,
00112 const char dataset_name[WSO_name_size_c + 1],
00113 const char dataset_description[WSO_desc_size_c + 1],
00114 tag_t* new_dataset
00115 );
00116
00117
00123 extern AE_API int AE_create_dataset_with_revanchor(
00124 tag_t aDatasetType,
00125 const char * aDatasetName,
00126 const char * aDatasetDescription,
00127 const char * aDatasetId,
00128 const char * aDatasetRev,
00129 tag_t rev_anchor_tag,
00130 tag_t * aNewDataset
00131 );
00132
00145 extern AE_API int AE_find_dataset(
00146 const char dataset_name[WSO_name_size_c + 1],
00147 tag_t* dataset
00148 );
00149
00150
00160 extern AE_API int AE_find_dataset2(
00161 const char *dataset_name,
00162 tag_t* dataset
00163 );
00164
00171 extern AE_API int AE_find_all_datasets(
00172 const char dataset_name[WSO_name_size_c + 1],
00173 int* nFound,
00176 tag_t** dataset
00181 );
00182
00183
00187 extern AE_API int AE_find_all_datasets2(
00188 const char *dataset_name,
00189 int* nFound,
00192 tag_t** dataset
00197 );
00198
00203 extern AE_API int AE_ask_dataset_def_rev_limit(
00204 int* default_rev_limit
00205 );
00206
00207
00212 extern AE_API int AE_initialize_dataset(
00213 tag_t dataset,
00214 tag_t dataset_type,
00215 const char dataset_name[WSO_name_size_c + 1],
00216 const char dataset_description[WSO_desc_size_c + 1]
00217 );
00218
00219
00224 extern AE_API int AE_copy_dataset(
00225 tag_t dataset,
00226 const char name_of_new_dataset[WSO_name_size_c + 1],
00227 tag_t* new_dataset
00228 );
00229
00233 extern AE_API int AE_ask_dataset_tool(
00234 tag_t dataset,
00235 tag_t* tool
00236 );
00237
00244 extern AE_API int AE_ask_dataset_format(
00245 tag_t dataset,
00246 char format_name[AE_io_format_size_c + 1]
00247 );
00248
00249
00253 extern AE_API int AE_ask_dataset_format2(
00254 tag_t dataset,
00255 char **format_name
00256 );
00257
00264 extern AE_API int AE_ask_dataset_siteclass(
00265 tag_t dataset,
00266 char site_classification[AE_siteclass_size_c + 1]
00267 );
00268
00269
00273 extern AE_API int AE_ask_dataset_siteclass2(
00274 tag_t dataset,
00275 char **site_classification
00276 );
00277
00278
00282 extern AE_API int AE_ask_dataset_datasettype(
00283 tag_t dataset,
00284 tag_t* datasettype
00285 );
00286
00290 extern AE_API int AE_set_dataset_tool(
00291 tag_t dataset,
00292 tag_t tool
00293 );
00294
00295
00308 extern AE_API int AE_set_dataset_format(
00309 tag_t dataset,
00310 const char format_name[AE_io_format_size_c + 1]
00311 );
00312
00313
00323 extern AE_API int AE_set_dataset_format2(
00324 tag_t dataset,
00325 const char *format_name
00326 );
00327
00334 extern AE_API int AE_set_dataset_siteclass(
00335 tag_t dataset,
00336 const char site_classification[AE_siteclass_size_c + 1]
00337 );
00338
00339
00343 extern AE_API int AE_set_dataset_siteclass2(
00344 tag_t dataset,
00345 const char *site_classification
00346 );
00347
00351 extern AE_API int AE_set_dataset_datasettype(
00352 tag_t dataset,
00353 tag_t datasettype
00354 );
00355
00362 extern AE_API int AE_save_myself(
00363 tag_t dataset
00364 );
00365
00366
00373 extern AE_API int AE_add_dataset_named_ref(
00374 tag_t dataset,
00375 const char reference_name[AE_reference_size_c + 1],
00376 AE_reference_type_t reference_type,
00377 tag_t previously_saved_object
00378 );
00379
00380
00384 extern AE_API int AE_add_dataset_named_ref2(
00385 tag_t dataset,
00386 const char *reference_name,
00387 AE_reference_type_t reference_type,
00388 tag_t previously_saved_object
00389 );
00390
00402 extern AE_API int AE_replace_dataset_named_ref(
00403 tag_t dataset,
00404 tag_t old_referenced_object,
00405 const char reference_name[AE_reference_size_c + 1],
00406 AE_reference_type_t reference_type,
00407 tag_t previously_saved_object
00408 );
00409
00410
00414 extern AE_API int AE_replace_dataset_named_ref2(
00415 tag_t dataset,
00416 tag_t old_referenced_object,
00417 const char *reference_name,
00418 AE_reference_type_t reference_type,
00419 tag_t previously_saved_object
00420 );
00421
00429 extern AE_API int AE_insert_dataset_named_ref(
00430 tag_t dataset,
00431 int index,
00432 const char reference_name[AE_reference_size_c + 1],
00433 AE_reference_type_t reference_type,
00434 tag_t previously_saved_object
00435 );
00436
00437
00442 extern AE_API int AE_insert_dataset_named_ref2(
00443 tag_t dataset,
00444 int index,
00445 const char *reference_name,
00446 AE_reference_type_t reference_type,
00447 tag_t previously_saved_object
00448 );
00449
00458 extern AE_API int AE_find_dataset_named_ref(
00459 tag_t dataset,
00460 int instance,
00461 char reference_name[AE_reference_size_c + 1],
00462 AE_reference_type_t* reference_type,
00463 tag_t* referenced_object
00464 );
00465
00466
00470 extern AE_API int AE_find_dataset_named_ref2(
00471 tag_t dataset,
00472 int instance,
00473 char **reference_name,
00474 AE_reference_type_t* reference_type,
00475 tag_t* referenced_object
00476 );
00477
00478 extern AE_API int AE_ask_dataset_ref_count(
00479 tag_t dataset,
00480 int* reference_count
00481 );
00482
00483
00488 extern AE_API int AE_ask_dataset_named_ref(
00489 tag_t dataset,
00490 const char reference_name[AE_reference_size_c + 1],
00491 AE_reference_type_t* reference_type,
00492 tag_t* referenced_object
00493 );
00494
00495
00496 extern AE_API int AE_ask_dataset_named_ref2(
00497 tag_t dataset,
00498 const char *reference_name,
00499 AE_reference_type_t* reference_type,
00500 tag_t* referenced_object
00501 );
00502
00509 extern AE_API int AE_ask_all_dataset_named_refs(
00510 tag_t dataset,
00511 const char reference_name[AE_reference_size_c + 1],
00512 int* nFound,
00515 tag_t** referenced_object
00521 );
00522
00523
00527 extern AE_API int AE_ask_all_dataset_named_refs2(
00528 tag_t dataset,
00529 const char *reference_name,
00530 int* nFound,
00533 tag_t** referenced_object
00539 );
00540
00541
00546 extern AE_API int AE_remove_dataset_named_ref(
00547 tag_t dataset,
00548 const char reference_name[AE_reference_size_c + 1]
00549 );
00550
00551
00552 extern AE_API int AE_remove_dataset_named_ref2(
00553 tag_t dataset,
00554 const char *reference_name
00555 );
00556
00563 extern AE_API int AE_remove_dataset_named_ref_by_tag(
00564 tag_t dataset,
00565 const char reference_name[AE_reference_size_c + 1],
00566 tag_t referenced_object
00567 );
00568
00569
00573 extern AE_API int AE_remove_dataset_named_ref_by_tag2(
00574 tag_t dataset,
00575 const char *reference_name,
00576 tag_t referenced_object
00577 );
00578
00588 extern AE_API int AE_is_dataset_unique (
00589 const char dataset_name[WSO_name_size_c + 1],
00590 logical* result
00591 );
00592
00593
00600 extern AE_API int AE_is_dataset_unique2 (
00601 const char *dataset_name,
00602 logical* result
00603 );
00604
00608 extern AE_API int AE_ask_dataset_num_revs(
00609 tag_t dataset,
00610 int* count
00611 );
00612
00616 extern AE_API int AE_purge_dataset_revs(
00617 tag_t dataset
00618 );
00619
00625 extern AE_API int AE_delete_all_dataset_revs(
00626 tag_t dataset
00627 );
00628
00633 extern AE_API int AE_ask_dataset_anchor(
00634 tag_t dataset,
00635 tag_t* revision_anchor
00636 );
00637
00647 extern AE_API int AE_ask_dataset_at(
00648 tag_t dataset,
00649 int index_name,
00650 tag_t* outDataset
00651 );
00652
00656 extern AE_API int AE_ask_dataset_latest_rev(
00657 tag_t dataset,
00658 tag_t* latestDataset
00659 );
00660
00664 extern AE_API int AE_ask_dataset_first_rev(
00665 tag_t dataset,
00666 tag_t* firstDataset
00667 );
00668
00672 extern AE_API int AE_ask_dataset(
00673 tag_t dataset,
00674 tag_t* lastDataset
00675 );
00676
00680 extern AE_API int AE_ask_dataset_next_rev(
00681 tag_t dataset,
00682 tag_t* nextDataset
00683 );
00684
00688 extern AE_API int AE_ask_dataset_prev_rev(
00689 tag_t dataset,
00690 tag_t* prevDataset
00691 );
00692
00693
00694 extern AE_API int AE_ask_dataset_named_refs(
00695 tag_t dataset,
00696 int* nFound,
00697 tag_t** refObject
00698 );
00699
00700
00709 extern AE_API int AE_ask_dataset_id_rev(
00710 tag_t aDataset,
00711 char** aDatasetId,
00712 char** aDatasetRev
00713 );
00714
00718 extern AE_API int AE_set_dataset_id_rev(
00719 tag_t aDataset,
00720 const char* aDatasetId,
00721 const char* aDatasetRev
00722 );
00723
00728 extern AE_API int AE_find_dataset_by_id_rev(
00729 tag_t aDatasetType,
00730 const char* aDatasetId,
00731 const char* aDatasetRev,
00732 tag_t* aDataset
00733 );
00734
00735
00740 extern AE_API int AE_find_all_datasets_by_id(
00741 tag_t aDatasetType,
00742 const char* aDatasetId,
00743 int* nFound,
00746 tag_t** aDataset
00749 );
00750
00755 extern AE_API int AE_create_dataset_with_id(
00756 tag_t aDatasetType,
00757 const char* aDatasetName,
00758 const char* aDatasetDescription,
00759 const char* aDatasetId,
00760 const char* aDatasetRev,
00761 tag_t* aNewDataset
00762 );
00763
00768 extern AE_API int AE_initialize_dataset_with_id(
00769 tag_t aDataset,
00770 tag_t dsTypeTag,
00771 const char* dsName,
00772 const char* dsDesc,
00773 const char* dsId,
00774 const char* dsRev
00775 );
00776
00777
00782 extern AE_API int AE_copy_dataset_with_id(
00783 tag_t aDataset,
00784 const char* nameOfNewDataset,
00785 const char* dsId,
00786 const char* dsRev,
00787 tag_t* aNewDataset
00788 );
00789
00790
00814 extern AE_API int AE_import_named_ref(
00815 tag_t dataset_tag,
00816 const char* reference_name,
00817 const char* os_full_path_name,
00818 const char* new_file_name,
00819 int file_type_flag
00820 );
00821
00822
00826 extern AE_API int AE_export_named_ref(
00827 tag_t datasetTag,
00828 const char* referenceName,
00829 const char* destPathName
00830 );
00831
00832 extern AE_API int AE_set_bounding_boxes(
00833 tag_t dataset,
00834 tag_t file,
00835 int numBoundingBoxes,
00836 const double* boundingBoxes
00837 );
00841 extern AE_API int AE_set_absOcc_bounding_boxes(
00842 tag_t absOccData,
00843 tag_t dataset,
00844 tag_t file,
00845 int numBoundingBoxes,
00846 const double* boundingBoxes
00847 );
00851 extern AE_API int AE_get_bounding_boxes(
00852 tag_t dataset,
00853 int* numBoundingBoxes,
00854 double** boundingBoxes
00855 );
00856
00860 extern AE_API int AE_delete_bounding_boxes(
00861 tag_t dataset
00862 );
00863 #ifdef __cplusplus
00864 }
00865 #endif
00866
00869 #include <ae/libae_undef.h>
00870 #endif