#include "StdAfx.h"
#include ".\nommage.h"
#include "objetdistant.h"
#include <string.h>

Nommage::Nommage()
{
	// procède à la publication d'un nouvel objet
	printf("Instanciation d'un objet sous le nom objet1\n");
	publier(new ObjetDistant,"objet1");
}

Nommage::~Nommage()
{
	// détruit l'objet
	delete this->objet;
	this->url=NULL;
}

void Nommage::publier(IObjetDistant*objet,char*url)
{
	printf("Publication d'un objet sous le nom %s\n",url);
	this->objet=objet;
	this->url=url;
}

IObjetDistant*Nommage::trouver(char*url)
{
	printf("Recherche d'un objet sous le nom %s\n",url);
	if(!strcmp(this->url,url))
		return new Adaptateur(this->objet);

	printf("Objet pas trouvé\n");
	return NULL;
}
