Main Page | Class Hierarchy | Class List | File List | Class Members

linkid.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _LINKID_H
00004 #define _LINKID_H
00005 
00006 #include "id.h"
00007 #include <map>
00008 #include <vector>
00009 #include <string>
00010 
00013 typedef enum LnkIdType {
00014   SEG_LNK_ID      = 0,        
00015   MORF_LNK_ID     = 1,        
00016   LEM_LNK_ID      = 2,        
00017   EZEZAGUN_LNK_ID = 3         
00018 };
00019 
00022 class LinkId: public Id {
00023   static std::map <const std::string, int> idKont; // Str <-> Zbk erlazioa
00024   const static std::vector<std::string> IdType2Str;
00025   static std::vector<std::string> KargatuIdType2Str();
00026 
00027   void erregistratu(const std::string & str) const;
00028 
00029  public:
00030 
00035   static std::string  IdType2IdTypeStr(const LnkIdType & type);
00036   
00041   static LnkIdType  IdTypeStr2IdType(const std::string & type);
00042 
00044   LinkId();
00045 
00049   LinkId(const char* lnkId);
00050 
00054   LinkId(const std::string & lnkId);
00055 
00059   LinkId(const LnkIdType & idType); 
00060 
00064   LnkIdType getIdType() const;
00065 
00069   std::string toXId() const;
00070 
00071 };
00072 
00073 #endif //_LINKID_H

Generated on Tue Sep 11 12:07:43 2007 for libIXAml by doxygen 1.3.5