root/trunk/ARBDB/arbdbt.h

Revision 8589, 3.0 KB (checked in by westram, 5 weeks ago)
  • macro execution
    • when a macro terminates (closes DB), it informs the caller via DB about that
    • AW_root::execute_macro(): new callback param; will be called after macro termination
    • when running a macro from GUI, it's termination callback will reset the currently selected macro
      • just cosmetic, but proofs concept works
      • only annoying when calling a macro which calls another macro (previously that other macro was selected after execution)
  • GB_close
    • run close callbacks before disconnecting from server (-> close callbacks now can transact with DB)
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
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 ERROR_CONTAINER_PATH    "tmp/message/pending"
41#define MACRO_TRIGGER_CONTAINER "tmp/remote/trigger"
42
43#ifdef FAKE_VTAB_PTR
44// if defined, FAKE_VTAB_PTR contains 'char'
45typedef FAKE_VTAB_PTR  virtualTable;
46#define GBT_VTAB_AND_TREE_ELEMENTS(type)        \
47    virtualTable      *dummy_virtual;           \
48    GBT_TREE_ELEMENTS(type)
49#else
50#define GBT_VTAB_AND_TREE_ELEMENTS(type) GBT_TREE_ELEMENTS(type)
51#endif
52
53struct GBT_TREE {
54    GBT_VTAB_AND_TREE_ELEMENTS(GBT_TREE);
55};
56
57enum GBT_TREE_REMOVE_TYPE {
58    GBT_REMOVE_MARKED     = 1,
59    GBT_REMOVE_NOT_MARKED = 2,
60    GBT_REMOVE_DELETED    = 4,
61
62    // please keep AWT_REMOVE_TYPE in sync with GBT_TREE_REMOVE_TYPE
63    // see ../SL/AP_TREE/AP_Tree.hxx@sync_GBT_TREE_REMOVE_TYPE_AWT_REMOVE_TYPE
64};
65
66enum GBT_ORDER_MODE {
67    GBT_BEHIND, 
68    GBT_INFRONTOF, 
69};
70   
71#define GBT_TREE_AWAR_SRT       " = :\n=:*=tree_*1:tree_tree_*=tree_*1"
72#define GBT_ALI_AWAR_SRT        " =:\n=:*=ali_*1:ali_ali_*=ali_*1"
73
74typedef GB_ERROR (*species_callback)(GBDATA *gb_species, int *clientdata);
75
76#include <ad_t_prot.h>
77
78#define CHANGE_KEY_PATH             "presets/key_data"
79#define CHANGE_KEY_PATH_GENES       "presets/gene_key_data"
80#define CHANGE_KEY_PATH_EXPERIMENTS "presets/experiment_key_data"
81
82#define CHANGEKEY        "key"
83#define CHANGEKEY_NAME   "key_name"
84#define CHANGEKEY_TYPE   "key_type"
85#define CHANGEKEY_HIDDEN "key_hidden"
86
87
88#else
89#error arbdbt.h included twice
90#endif
Note: See TracBrowser for help on using the browser.