/*********************************************************************/ /* */ /* 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 } }