00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #ifndef _BAS_H_
00010 #define _BAS_H_
00011 
00012 #include <map>
00013 #include <string>
00014 #include <AGAPI.h>
00015 #include "agfio.h"
00016 #include "BASfile.h"
00017 
00019 class DllExport BAS : public agfio
00020 {
00021 private:
00022 
00023   void ag_build1(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00024   void ag_build1TR(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00025   void ag_build1SUP(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00026   void ag_build1NOI(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00027   void ag_build4(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00028   void ag_build4Gab(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00029   void ag_build4WOR(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00030   void ag_build4MAU(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00031   void ag_build5_begin(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00032   void ag_build5(BASfile& B, const AGId& agId, const SignalIds& signalIds);
00033 
00034   map<string, void (BAS::*)(BASfile&, const AGId&, const SignalIds&)> funcMap;
00035   map< string, map<int, AnchorId> > anchorPool;
00036   map< string, map<int, AnnotationId> > annotationPool;
00037   map<string, AnchorId> prevAnchor;
00038 
00039   virtual bool
00040   is_id_required()
00041   { return true; }
00042 
00043   virtual AGIds
00044   load();
00045 
00046 
00047 public:
00048 
00049   BAS();
00050 
00051 };
00052 
00053 #endif