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