/* ***********************IMPORTANT *********************************************
 *  Copyright (C) 2004-2007 Thierry Lagarde <tlagarde@users.sourceforge.net>
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License.
 *
 *
 *                      ********************
 *
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Library General Public License for more details.
 *
 *
 *                      ********************
 *
 *
 * You are highly encouraged to send your changes to <tlagarde@users.sourceforge.net>
 * for possible incorporation into the main distribution.
 * By sending these changes to <tlagarde@users.sourceforge.net>,
 * it is assumed that you are offering <tlagarde@users.sourceforge.net>
 * the unlimited, non-exclusive right to reuse, modify, and relicense the code.
 *
 *
 *                      ********************
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 **************************************************************************************/
#include "Objet_Gestion_Texte.h"
#include "Objet.h"
#include "Equipement.h"
#include "Settings_Signature.h"
#include "Fournisseur.h"
#include "Debug.h"
#include "Equipement_Port.h"


extern struct Struct_Liste_Port_UDP Liste_Port_UDP[];

gchar    *Gestion_Texte_Default (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Texte = NULL;

	ERROR_if (pointer == NULL);
	Texte = (gchar *) Objet->Pointeur_Attacher;
	if (Texte == NULL)
		Texte = "none";
	return g_strdup_printf (Objet->Texte_Defaut, Texte);
}


gchar    *Gestion_Integer_Default (gpointer * pointer)
{
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;

	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, (gint) Objet->Pointeur_Attacher);
}

gchar    *Gestion_Pointeur_Texte_Default (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar  *Texte = NULL;

	ERROR_if (pointer == NULL);
	Texte = *Objet->Pointeur_Attacher;
	if (Texte == NULL)
		Texte = "none";
	return g_strdup_printf (Objet->Texte_Defaut, Texte);
}


gchar    *Gestion_Texte_Fournisseur_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;

	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->Fournisseur);
}

gchar    *Gestion_Texte_Syteme_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar  *System = NULL;

	ERROR_if (pointer == NULL);
	if (Equipement->Signature != NULL)
		System = Equipement->Signature->System_Name;
	if (System == NULL) {
		if (Equipement->Agent_AutoScan)
			System = "Agent AutoScan";
		else if (Equipement->Nb_Port_Ouvert != 0)
			System = "Unknow equipment";
		else
			System = "Failed (No TCP ports found open on this machine)";
	}
	return g_strdup_printf (Objet->Texte_Defaut, System);
}

gchar    *Gestion_Texte_SytemeMD5_W_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;

	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->Md5_Signature_W);
}


gchar    *Gestion_Texte_SytemeMD5_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;

	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->Md5_Signature_W);
}

gchar    *Gestion_Texte_Syteme_Group_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *System_Group = NULL;
	struct Struct_Signature *Signature_Pere = NULL;

	ERROR_if (pointer == NULL);
	System_Group = "none";
	if (Equipement->Signature != NULL) {
		Signature_Pere = (struct Struct_Signature *) Equipement->Signature->Signature_Pere;
		if (Signature_Pere != NULL)
			System_Group = Signature_Pere->System_Name;
	}
	return g_strdup_printf (Objet->Texte_Defaut, System_Group);
}


gchar    *Gestion_Texte_Port_Info_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;

	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->Nb_Port_Ouvert, Equipement->Nb_Port_Total_Scanner, Equipement->Nb_Port_Firewaller, Equipement->Nb_Port_Total_Scanner);
}


gchar    *Gestion_Texte_Port_Ouvert_Info_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;	
		
	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->PortOuvertListe);
}

gchar    *Gestion_Texte_Port_Fermer_Info_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;	
	
	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->PortFermerListe);
}

gchar    *Gestion_Texte_Port_Firewall_Info_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;	
	
	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->PortFirewallerListe);
}


gchar    *Gestion_Texte_Cpu_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;	
	gfloat user,system,nice,idle,total;
	
	ERROR_if (pointer == NULL);	
	user = Equipement->Snmp.Cpu_Raw_User;
    nice =  Equipement->Snmp.Cpu_Raw_Nice;
	system = Equipement->Snmp.Cpu_Raw_System;
	idle = Equipement->Snmp.Cpu_Raw_Idle;
	total = user + nice + system + idle;
	if (total==0)
		return g_strdup("Error");
	return g_strdup_printf (Objet->Texte_Defaut,(100 * (user/total)),(100 * (system/total)), (100 * (nice/total)),(100 * (idle/total)));
}

gchar    *Gestion_Texte_Mem_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;	
	gfloat free,total,used,cached;
	
	ERROR_if (pointer == NULL);	
	
	free =  Equipement->Snmp.Mem_Available_Real;
	total = Equipement->Snmp.Mem_Total_Real;
	cached = Equipement->Snmp.Mem_Cached;
	used =  total - free - cached;
	if (total==0)
		return g_strdup("Error");
	return g_strdup_printf (Objet->Texte_Defaut,(100 * (free/total)),(100 * (used/total)),(100 * (cached/total)));
}


gchar    *Gestion_Texte_Port_Udp_Info_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;	
	
	ERROR_if (pointer == NULL);
	return g_strdup_printf (Objet->Texte_Defaut, Equipement->PortUdpListe);
}

gchar    *Gestion_Texte_Dernier_Changement_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;
	gchar     Date[30];

	ERROR_if (pointer == NULL);
	ctime_r (&Equipement->Derniere_Modification_Etat_Equipement, Date);
	Date[strlen (Date) - 1] = '\0';
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Date);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Temps_Scan_Complet_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Complet);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Temps_Scan_Port_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Port);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Port_Udp_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Port_Udp);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Signature_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Signature);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Temps_Scan_Service_FTP_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Service_Ftp);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Temps_Scan_Service_HTTP_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Service_Http);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Temps_Scan_Service_IMAP_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Service_Imap);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Service_SMTP_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Service_Smtp);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Service_SSH_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Service_Ssh);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Service_TELNET_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Service_Telnet);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Snmp_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Scan_Snmp);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Temps_Scan_Dns_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Equipement->Temps_Resolv_DNS);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_HostName_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *HostName = NULL;

	ERROR_if (pointer == NULL);
	HostName = Equipement->Smb.HostName;
	if (HostName == NULL)
		HostName = "none";
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, HostName);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Alias_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *Alias = NULL;

	ERROR_if (pointer == NULL);
	Alias = Equipement->Alias;

	if (Alias == NULL)
		Alias = "none";
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Alias);
	debug_printf (INTERFACE, D_INFO, __FILE__, __PRETTY_FUNCTION__, __LINE__, "Gestion Alias Equipement %s  Taille [%d]   [%s]", Equipement->Adresse_Ip_Char, (sizeof (gchar)) * (strlen (Objet->Texte_Defaut) + strlen (Alias) + 1), Nouveau_Texte);
	return Nouveau_Texte;
}

gchar    *Gestion_Texte_Ping_Time_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *Ping_Time = NULL;

	ERROR_if (pointer == NULL);
	Ping_Time = Equipement->Ping_Time;
	if (Ping_Time == NULL)
		Ping_Time = "--";
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Ping_Time);
	debug_printf (INTERFACE, D_INFO, __FILE__, __PRETTY_FUNCTION__, __LINE__, "Gestion Ping_Time Equipement %s  Taille [%d]   [%s]", Equipement->Adresse_Ip_Char, (sizeof (gchar)) * (strlen (Objet->Texte_Defaut) + strlen (Ping_Time) + 1), Nouveau_Texte);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Dns_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *Nom_DNS_Complet = NULL;

	ERROR_if (pointer == NULL);

	Nom_DNS_Complet = Equipement->Nom_DNS_Complet;
	if (Nom_DNS_Complet == NULL)
		Nom_DNS_Complet = "none";

	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Nom_DNS_Complet);

	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Domaine_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *Domaine = NULL;

	ERROR_if (pointer == NULL);
	Domaine = Equipement->Smb.DomainName;
	if (Domaine == NULL)
		Domaine = "none";
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Domaine);
	return Nouveau_Texte;
}


gchar    *Gestion_Texte_Utilisateur_Equipement (gpointer * pointer)
{
	struct Struct_Equipement *Equipement = (struct Struct_Equipement *) Objet_Equipement_Selectionner->Pointeur_Attacher;
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *Utilisateur = NULL;

	ERROR_if (pointer == NULL);
	Utilisateur = Equipement->Smb.Utilisateur;
	if (Utilisateur == NULL)
		Utilisateur = "none";
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Utilisateur);
	return Nouveau_Texte;
}



gchar    *Gestion_Texte_Type_Parent (gpointer * pointer)
{
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL, *Type = NULL;

	ERROR_if (pointer == NULL);
	switch (Objet_Equipement_Selectionner->ID_Modele_Objet) {
	    case LISTE_SERVEUR:
		    Type = "Server";
		    break;
	    case LISTE_SWITCH:
		    Type = "Switch";
		    break;
	    case LISTE_MULTIMEDIA:
		    Type = "Multimedia";
		    break;
	    case LISTE_CONSOLE:
		    Type = "Console";
		    break;
	    case LISTE_WIFI:
		    Type = "Wifi";
		    break;
	    case LISTE_PDA:
		    Type = "Pda";
		    break;
	    case LISTE_IMPRIMANTE:
		    Type = "Printer";
		    break;
	    case LISTE_ROUTEUR:
		    Type = "Router";
		    break;
	    case LISTE_STATION:
		    Type = "Workstation";
		    break;
	    case LISTE_DISQUE:
		    Type = "Disk";
		    break;
	    case LISTE_SECURITY_CAMERA:
		    Type = "Security Camera";
		    break;
	    case LISTE_UPS:
		    Type = "UPS";
		    break;
	    case LISTE_TELEPHONIE:
		    Type = "Ip phone";
		    break;
	    case LISTE_ROUTEUR_SWITCH:
		    Type = "Router-Switch";
		    break;
	    case LISTE_ROUTEUR_ADSL:
		    Type = "Router ADSL";
		    break;
	    case LISTE_MODEM:
		    Type = "Modem";
		    break;
	    case LISTE_FIREWALL:
		    Type = "Firewall";
		    break;
	    case LISTE_VPN:
		    Type = "Vpn";
		    break;
	    case LISTE_CAMERA:
		    Type = "Camera";
		    break;
	    case LISTE_CELLULAR_PHONE:
		    Type = "Cellular Phone";
		    break;
	    case LISTE_MP3_PLAYER:
		    Type = "MP3 Player";
		    break;
	    case LISTE_TABLET:
		    Type = "Tablet";
		    break;
	    case LISTE_CAMCORDER:
		    Type = "Camcorder";
		    break;
	    case LISTE_POWERLINE:
		    Type = "PowerLine";
		    break;
	    case LISTE_FAX:
		    Type = "FAX";
		    break;

	    case LISTE_INCONNU:
		    Type = "Unknown";
		    break;
	    case LISTE_FIREWALLED:
		    Type = "Firewalled";
		    break;
	    case LISTE_MODELE_DOMAINE:
		    Type = "Domain";
		    break;
	    default:
		    Type = "unknow";
	}
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Type);
	return Nouveau_Texte;
}



gchar    *Gestion_Texte_Parent_Nb_Fils (gpointer * pointer)
{
	struct Struct_Modele_Objet *Objet = (struct Struct_Modele_Objet *) pointer;
	gchar    *Nouveau_Texte = NULL;

	ERROR_if (pointer == NULL);
	Nouveau_Texte = g_strdup_printf (Objet->Texte_Defaut, Objet_Equipement_Selectionner->Nb_Enfant);
	return Nouveau_Texte;
}
