1 /* @include ajfeatread ********************************************************
2 **
3 ** AJAX feature reading functions
4 **
5 ** These functions control all aspects of AJAX feature reading
6 **
7 ** @author Copyright (C) 1999 Richard Bruskiewich
8 ** @version $Revision: 1.10 $
9 ** @modified 2000 Ian Longden.
10 ** @modified 2001 Peter Rice.
11 ** @modified $Date: 2013/06/29 22:31:59 $ by $Author: rice $
12 ** @@
13 **
14 ** This library is free software; you can redistribute it and/or
15 ** modify it under the terms of the GNU Lesser General Public
16 ** License as published by the Free Software Foundation; either
17 ** version 2.1 of the License, or (at your option) any later version.
18 **
19 ** This library is distributed in the hope that it will be useful,
20 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
21 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22 ** Lesser General Public License for more details.
23 **
24 ** You should have received a copy of the GNU Lesser General Public
25 ** License along with this library; if not, write to the Free Software
26 ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
27 ** MA  02110-1301,  USA.
28 **
29 ******************************************************************************/
30 
31 #ifndef AJFEATREAD_H
32 #define AJFEATREAD_H
33 
34 /* ========================================================================= */
35 /* ============================= include files ============================= */
36 /* ========================================================================= */
37 
38 #include "ajdefine.h"
39 #include "ajstr.h"
40 #include "ajtable.h"
41 #include "ajfeatdata.h"
42 #include "ajseqdata.h"
43 
44 AJ_BEGIN_DECLS
45 
46 
47 
48 
49 /* ========================================================================= */
50 /* =============================== constants =============================== */
51 /* ========================================================================= */
52 
53 
54 
55 
56 extern AjPTable feattabDbMethods;
57 
58 
59 
60 
61 /* ========================================================================= */
62 /* ============================== public data ============================== */
63 /* ========================================================================= */
64 
65 
66 
67 
68 /* ========================================================================= */
69 /* =========================== public functions ============================ */
70 /* ========================================================================= */
71 
72 
73 
74 
75 /*
76 ** Prototype definitions
77 */
78 
79 void          ajFeattaballClear(AjPFeattaball thys);
80 void          ajFeattaballDel(AjPFeattaball* pthis);
81 AjPFeattaball ajFeattaballNew(void);
82 const AjPStr  ajFeattaballGetfeattableId(const AjPFeattaball thys);
83 
84 void          ajFeattabinClear(AjPFeattabin thys);
85 void          ajFeattabinDel(AjPFeattabin* pthis);
86 AjPFeattabin  ajFeattabinNew(void);
87 AjPFeattabin  ajFeattabinNewCSF(const char* fmt, const AjPStr name,
88                                 const char* type, AjPFilebuff buff);
89 AjPFeattabin  ajFeattabinNewSS(const AjPStr fmt, const AjPStr name,
90                                const char* type);
91 AjPFeattabin  ajFeattabinNewSSF(const AjPStr fmt, const AjPStr name,
92                                 const char* type, AjPFilebuff buff);
93 AjPFeattabin  ajFeattabinNewSeqinSSF(const AjPSeqin seqin, const AjPStr fmt,
94                                      const AjPStr name, const char* type,
95                                      AjPFilebuff buff);
96 AjPFeattabin  ajFeattabinNewSeqinSS(const AjPSeqin seqin, const AjPStr fmt,
97                                     const AjPStr name, const char* type);
98 void          ajFeattabinSetRange(AjPFeattabin thys,
99                                   ajint fbegin, ajint fend);
100 AjBool        ajFeattabinSetTypeC(AjPFeattabin thys, const char* type);
101 AjBool        ajFeattabinSetTypeS(AjPFeattabin thys, const AjPStr type);
102 
103 void          ajFeatinPrintFormat(AjPFile outf, AjBool full);
104 void          ajFeatinPrinthtmlFormat(AjPFile outf);
105 void          ajFeatinPrintbookFormat(AjPFile outf);
106 void          ajFeatinPrintwikiFormat(AjPFile outf);
107 void          ajFeatreadExit(void);
108 const char*   ajFeattabinTypeGetFields(void);
109 const char*   ajFeattabinTypeGetQlinks(void);
110 
111 AjPTable      ajFeattabaccessGetDb(void);
112 const char*   ajFeattabaccessMethodGetQlinks(const AjPStr method);
113 ajuint        ajFeattabaccessMethodGetScope(const AjPStr method);
114 AjBool        ajFeattabaccessMethodTest(const AjPStr method);
115 AjBool        ajFeattabinformatTerm(const AjPStr term);
116 AjBool        ajFeattabinformatTest(const AjPStr format);
117 
118 void          ajFeattabinQryC(AjPFeattabin thys, const char* txt);
119 void          ajFeattabinQryS(AjPFeattabin thys, const AjPStr txt);
120 
121 AjBool        ajFeattabinRead(AjPFeattabin ftin, AjPFeattable ftable);
122 
123 AjBool        ajFeattaballNext(AjPFeattaball thys, AjPFeattable *Pfeattable);
124 AjPFeattable  ajFeattableNewRead(AjPFeattabin ftin);
125 AjPFeattable  ajFeattableNewReadUfo(AjPFeattabin tabin, const AjPStr Ufo);
126 
127 /*
128 ** End of prototype definitions
129 */
130 
131 
132 
133 
134 #ifdef AJ_COMPILE_DEPRECATED_BOOK
135 #endif
136 #ifdef AJ_COMPILE_DEPRECATED
137 
138 __deprecated void          ajFeattabInClear(AjPFeattabIn thys);
139 __deprecated void          ajFeattabInDel(AjPFeattabIn* pthis);
140 __deprecated AjPFeattabIn  ajFeattabInNew(void);
141 __deprecated AjPFeattabIn  ajFeattabInNewCSF(const char* fmt, const AjPStr name,
142                                              const char* type, AjPFilebuff buff);
143 __deprecated AjPFeattabIn  ajFeattabInNewSS(const AjPStr fmt, const AjPStr name,
144                                             const char* type);
145 __deprecated AjPFeattabIn  ajFeattabInNewSSF(const AjPStr fmt, const AjPStr name,
146                                              const char* type, AjPFilebuff buff);
147 __deprecated AjBool        ajFeattabInSetType(AjPFeattabIn thys, const AjPStr type);
148 __deprecated AjBool        ajFeattabInSetTypeC(AjPFeattabIn thys, const char* type);
149 
150 #endif
151 
152 
153 
154 
155 AJ_END_DECLS
156 
157 #endif /* !AJFEATREAD_H */
158