Patten lists ajax header, dirst draft

Henrikki Almusa henrikki.almusa at
Mon Jun 28 08:20:54 UTC 2004


Heres a first draft for ajpat.h. Now this is just for comment on command in 
there. I have done some work to .c as well, but thats not finished yet. But 
this is for comments.

#ifdef __cplusplus
extern "C"

#ifndef ajpat_h
#define ajpat_h

typedef struct AjSPattern {
        AjPStr name;
        AjPStr origpat;
        AjPStr propat;
        AjPRegex regexpat;
        ajint mismatch;
} AjOPattern;

#define AjPPattern AjOPattern*

struct AjSPatlist {
        AjPList patlist;
        AjIList iter;
        ajint type;
} AjPOPatlist;

// type can 1: regex, 2: prosite (protein) 3: prosite like (nucleotide)

#define AjPPatlist AjOPatlist*

// Pattern handling functions
AjPPattern ajPatternNew (AjPStr name,AjPStr pat,int mismatch);
ajPatternDel (AjPPattern thys);
AjPStr ajPatternGetName (AjPPattern thys);
ajint ajPatternGetType (AjPPattern thys);
ajint ajPatternGetMismatch (AjPPattern thys);
AjPStr ajPatternGetPro (AjPPattern thys);
AjPStr ajPatternGetOrigPro (AjPPattern thys);
AjPRegex ajPatternGetRegex (AjPPattern thys);
AjPStr ajPatternGetPattern (AjPPattern thys);

// Patlist handling functions
AjPPatlist ajPatlistNew (void);
ajPatlistDel (AjPPatlist thys);
void ajParsePatternFile (AjPPatlist thys, AjPStr inf, ajint type);
ajBool ajPatlistGetNext (AjPPatlist thys, AjPPAttern pattern);
void ajPatlistRewind (AjPPatlist thys);
ajint ajPatlistGetType (AjPPatlist thys);
void ajPatlistAdd (AjPPatlist thys, AjPPattern pat);
void ajPatlistSetType (AjPPatlist thys, ajint type);


#ifdef __cplusplus

Henrikki Almusa

More information about the emboss-dev mailing list