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

linkgrps.h

00001 /* libIXAml - IXA Taldea */
00002 
00003 #ifndef _LINKGRPS_H
00004 #define _LINKGRPS_H
00005 
00006 #include "tagorder.h"
00007 #include "lnkgrptype.h"
00008 #include "linkgrp.h"
00009 #include "link.h"
00010 #include "idreferl.h"
00011 #include "xmlsimplestruct.h"
00012 #include <map>
00013 #include <vector>
00014 #include <string>
00015 
00018 class LinkGrpS {
00019   std::vector <LinkGrp> lnkGrpV;       // linkGrp multzoak gordetzeko
00020   unsigned ind;                   // bilaketentzako indiziea
00021 
00022   void printErrorea(char*, XMLSimpleNode*, XMLSimpleNode*) const;
00023   XMLSimpleNode* sortuXptr(XMLSimpleStruct* xmlstruct, const std::string & id, const std::string & docRef, const std::string & from) const;
00024   std::map <RefDataErl, Id, TagOrder<RefDataErl> > lortuXptrId() const;  //id-ren XPTR lortzeko informazioa
00025   Link xLink2Link(const std::map<Id,Id> & xId2Id, const Link & xLink) const throw (char*);
00026   
00027  public:
00028 
00030   LinkGrpS();
00031 
00035   LinkGrpS(const LinkGrpS & lgs);
00036   
00041   LinkGrpS& operator=(const LinkGrpS & lgs);
00042 
00046   void add(const LinkGrp & lg);
00047 
00051   void remove(const LinkGrp & lg);
00052 
00055   void removeAll();
00056 
00061   void addLink(const LnkGrpType & type, const Link & lnk);
00062 
00067   void removeLink(const LnkGrpType & type, const Link & lnk);
00068 
00071   void begin();
00072 
00075   void next();
00076 
00080   bool ready() const;
00081 
00085   LinkGrp current() const;
00086   
00088   void ordenatu();
00089 
00093   unsigned getLnkGrpKop() const;
00094 
00099   LinkGrp getLinkGrp(const unsigned pos) const;
00100 
00105   LinkGrp getLinkGrp(const LnkGrpType & lgt) const;
00106 
00112   XMLSimpleNode* toXML(XMLSimpleStruct* xmlstruct, const IdRefErl & idRefErl) const;                          // LinkGroupS-><BODY>..</BODY>
00113   
00117   void init(XMLSimpleNode* lnkItem) throw (char*);            // <BODY> ... </BODY> -> LinkGroupS
00118   // char* salbuespena altxa dezake item-en
00119                                                  // informazio falta edo erreferentzi
00120                                                  // erroreak badaude
00121 
00122 };
00123 #endif //_LINKGRPS_H

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