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