///
/// \file XMLProperty.h
/// Classe de description d'une propriete XML.
/// 
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 

#ifndef ____XMLPROPERTY____
#define ____XMLPROPERTY____

///
/// \class XMLProperty
/// Classe de description d'une propriete XML.
/// 
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 

class XMLProperty {

  public :
    char *name;         ///< Le nom.
    char *value;        ///< La valeur.

  public :	

///
/// Constructeur pour un nouvel objet XMLProperty.
///
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    XMLProperty(void);

///
/// Constructeur pour un nouvel objet XMLProperty.
///
/// @param name Le nom.
/// @param value La valeur.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    XMLProperty(char *name,char *value);

///
/// Destructeur pour un objet XMLProperty.
///
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    ~XMLProperty();

///
/// Affectation du nom.
///
/// @param t Le tableau d'ou est extrait le nom.
/// @param p1 L'indice du premier caractere du nom dans le tableau t.
/// @param p2 L'indice du dernier caractere du nom dans le tableau t.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    void setName(char *t,int p1,int p2);

///
/// Affectation de la valeur.
///
/// @param t Le tableau d'ou est extrait la valeur.
/// @param p1 L'indice du premier caractere de la valeur dans le tableau t.
/// @param p2 L'indice du dernier caractere de la valeur dans le tableau t.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    void setValue(char *t,int p1,int p2);

///
/// Affectation du nom.
///
/// @param t Le nom.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    void setName(char *t);

///
/// Affectation de la valeur.
///
/// @param t La valeur.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
/// 
    void setValue(char *v);

///
/// Retour de la quantite de memoire utilisee.
///
/// @return la quantite de memoire.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    size_t getUsedMemory(void);

///
/// Retour du nombre de handles memoires utilises.
///
/// @return le nombre de handles memoires.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    long getUsedHandles(void);

  private :
    char ndynamique;
    char vdynamique;
};

#endif
