/*********************************************************************/
/* */
/* AgentService Framework */
/* www.agentservice.it */
/* */
/* Copyright (C) 2007 l.i.d.o. - DIST, University of Genoa, Italy */
/* GNU Lesser General Public License */
/* */
/* This library is free software; you can redistribute it and/or */
/* modify it under the terms of the GNU Lesser General Public */
/* License as published by the Free Software Foundation, */
/* version 2.1 of the License. */
/* */
/* This library 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 */
/* Lesser General Public License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public */
/* License along with this library; if not, write to the */
/* Free Software Foundation, Inc., 59 Temple Place - Suite 330, */
/* Boston, MA 02111-1307, USA. */
/* */
/*********************************************************************/
using System;
using AgentService;
using AgentService.Platform.AMS;
namespace AgentService.Agent.Runtime
{
///
/// Class DefaultWhitePagesClient. Implements a default client for the
/// white pages service.
///
public class DefaultWhitePagesClient: AgentService.Agent.Runtime.IWhitePagesClient
{
///
/// Reference to the AID of the owning agent.
///
private AID aid;
///
/// Reference to the white pages service.
///
private IWhitePagesServer whitePagesServer;
///
/// Constructs a DefaultWhitePagesClient object.
///
/// aid of the owning agent
/// reference to the white pages service
public DefaultWhitePagesClient(AID aid, IWhitePagesServer whitePagesServer)
{
this.aid = aid;
this.whitePagesServer = whitePagesServer;
}
///
/// Searches for all the agents which names satisfy the given regex pattern.
///
/// regular expression pattern that defines the selction criteria
/// collection of Agent Description objects
public AgentDescription[] Search(string pattern)
{
lock(this)
{
return this.whitePagesServer.Search(pattern);
}
}
///
/// Searches for the agent that has the given name.
///
/// name of the agent to search for
/// Agent Description of the agent if found, null otherwise
public AgentDescription SearchExact(string name)
{
lock(this)
{
return this.whitePagesServer.SearchExact(name);
}
}
#region IRuntimeBindable Members
///
/// Connects the runtime component to the events
/// originated by the agent instance.
///
/// proxy to the agent instance
public void BindEvents(IAgentEventProxy proxy)
{}
///
/// Disconnects the runtime component to the events
/// originated by the agent instance.
///
/// proxy to the agent instance
public void UnbindEvents(IAgentEventProxy proxy)
{}
#endregion
}
}