source: tags/arb_5.3/PGT/file_import.hxx

Last change on this file was 5825, checked in by westram, 15 years ago
  • replaced GB_entry/GB_create/GB_search+GB_read_XXX by GBT_read_XXX
  • improved error handling in many functions
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1// Copyright (c) 2004 - 2005 Kai Bader <baderk@in.tum.de>
2//
3// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
6// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
7// AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
8// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9
10// CVS REVISION TAG  --  $Revision: 5825 $
11
12#ifndef FILE_IMPORT_H
13#define FILE_IMPORT_H
14
15#include "arb_interface.hxx"
16#include "file_import.hxx"
17
18// Interessant wäre es vielleicht dies alles hier in eine Klasse zu verpacken
19// Zusätzlich sollte vielleicht noch eine Funktion zur Analyse des Spaltentyps
20// hinzugefügt werden. !?
21
22
23#define DATATYPE_UNKNOWN 0
24#define DATATYPE_INT     1
25#define DATATYPE_FLOAT   2
26#define DATATYPE_STRING  4
27
28
29typedef struct IMPORTDATA
30{
31    char *species;      // SPECIES NAME
32    char *experiment;   // EXPERIMENT NAME
33    char *proteome;     // PROTEOME NAME
34} importData;
35
36
37typedef struct IMPORTTABLE
38{
39    int rows;           // TABLE ROWS
40    int columns;        // TABLE COLUMNS
41    char **cell;        // TABLE CELL ARRAY = TABLE ENTRIES
42    char **header;      // TABLE HEADER DATA
43    bool hasHeader;     // FIRST LINE = TABLE HEADER (TRUE/FALSE)
44    int *columnType;    // ARB COLUMN TYPE (IF IDENTIFIABLE)
45    bool hasTypes;      // IS COLUMN TYPE DATA AVAILABLE
46} importTable;
47
48
49typedef struct _XSLTimporter
50{
51    char *path;
52    char **importer;
53    int number;
54} XSLTimporter;
55
56
57importTable *fileopenCSV(char *, int);
58int importCSV(importTable *, importData *);
59importTable *createImportTable(int, int);
60XSLTimporter *findXSLTFiles(char *);
61int identifyType(char *);
62void identifyColumns(importTable *);
63
64#endif // FILE_IMPORT_H
Note: See TracBrowser for help on using the repository browser.