source: tags/svn.1.5.4/ARBDB/arbdbt.h

Last change on this file was 8037, checked in by westram, 14 years ago

merge from dev [7958] [7959] [7960] [7961]

  • GBT_open (removed unused default parameter)
  • error handling fixes
    • several functions in ARBDB
    • added macro RETURN_ERROR
      • shall be used by functions returning errors (opposed to functions exporting errors)
      • fails assertion if an error is exported
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.8 KB
Line 
1#ifndef ARBDBT_H
2#define ARBDBT_H
3
4#ifndef ARBDB_H
5#include <arbdb.h>
6#endif
7
8#define GBT_SPECIES_INDEX_SIZE       10000L
9#define GBT_SAI_INDEX_SIZE           1000L
10
11#define GB_GROUP_NAME_MAX 256
12
13#define GBT_TREE_ELEMENTS(type)                 \
14    bool     is_leaf;                           \
15    bool     tree_is_one_piece_of_memory;       \
16    type    *father, *leftson, *rightson;       \
17    GBT_LEN  leftlen, rightlen;                 \
18    GBDATA  *gb_node;                           \
19    char    *name;                              \
20    char    *remark_branch
21
22// remark_branch normally contains some bootstrap value in format 'xx%'
23// if you store other info there, please make sure that this info does not
24// start with digits!!
25// Otherwise the tree export routines will not work correctly!
26// --------------------------------------------------------------------------------
27
28#define CLEAR_GBT_TREE_ELEMENTS(tree_obj_ptr)                   \
29    (tree_obj_ptr)->is_leaf = false;                            \
30    (tree_obj_ptr)->tree_is_one_piece_of_memory = false;        \
31    (tree_obj_ptr)->father = 0;                                 \
32    (tree_obj_ptr)->leftson = 0;                                \
33    (tree_obj_ptr)->rightson = 0;                               \
34    (tree_obj_ptr)->leftlen = 0;                                \
35    (tree_obj_ptr)->rightlen = 0;                               \
36    (tree_obj_ptr)->gb_node = 0;                                \
37    (tree_obj_ptr)->name = 0;                                   \
38    (tree_obj_ptr)->remark_branch = 0
39
40#define AWAR_ERROR_CONTAINER    "tmp/message/pending"
41
42#ifdef FAKE_VTAB_PTR
43// if defined, FAKE_VTAB_PTR contains 'char'
44typedef FAKE_VTAB_PTR  virtualTable;
45#define GBT_VTAB_AND_TREE_ELEMENTS(type)        \
46    virtualTable      *dummy_virtual;           \
47    GBT_TREE_ELEMENTS(type)
48#else
49#define GBT_VTAB_AND_TREE_ELEMENTS(type) GBT_TREE_ELEMENTS(type)
50#endif
51
52struct GBT_TREE {
53    GBT_VTAB_AND_TREE_ELEMENTS(GBT_TREE);
54};
55
56enum GBT_TREE_REMOVE_TYPE {
57    GBT_REMOVE_MARKED     = 1,
58    GBT_REMOVE_NOT_MARKED = 2,
59    GBT_REMOVE_DELETED    = 4,
60
61    // please keep AWT_REMOVE_TYPE in sync with GBT_TREE_REMOVE_TYPE
62    // see ../SL/AP_TREE/AP_Tree.hxx@sync_GBT_TREE_REMOVE_TYPE_AWT_REMOVE_TYPE
63};
64
65#define GBT_TREE_AWAR_SRT       " = :\n=:*=tree_*1:tree_tree_*=tree_*1"
66#define GBT_ALI_AWAR_SRT        " =:\n=:*=ali_*1:ali_ali_*=ali_*1"
67
68typedef GB_ERROR (*species_callback)(GBDATA *gb_species, int *clientdata);
69
70#include <ad_t_prot.h>
71
72#define CHANGE_KEY_PATH             "presets/key_data"
73#define CHANGE_KEY_PATH_GENES       "presets/gene_key_data"
74#define CHANGE_KEY_PATH_EXPERIMENTS "presets/experiment_key_data"
75
76#define CHANGEKEY        "key"
77#define CHANGEKEY_NAME   "key_name"
78#define CHANGEKEY_TYPE   "key_type"
79#define CHANGEKEY_HIDDEN "key_hidden"
80
81
82#else
83#error arbdbt.h included twice
84#endif
Note: See TracBrowser for help on using the repository browser.