Iterator.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //=============================================================================
00003 /**
00004  *  @file   Iterator.h
00005  *
00006  *  $Id: Iterator.h 77020 2007-02-12 13:56:49Z johnnyw $
00007  *
00008  *  @brief  This file declares ImR's iterator.
00009  *
00010  *  @author Darrell Brunsch <brunsch@cs.wustl.edu>
00011  */
00012 //=============================================================================
00013 
00014 #ifndef IMR_ITERATOR_H
00015 #define IMR_ITERATOR_H
00016 
00017 #include "Locator_Repository.h"
00018 #include "tao/PortableServer/PortableServer.h"
00019 #include "tao/ImR_Client/ImplRepoS.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 /**
00026  * @class ImR_Iterator
00027  *
00028  * @brief The Iterator for servers in the ImR.
00029  *
00030  */
00031 class ImR_Iterator
00032   : public POA_ImplementationRepository::ServerInformationIterator
00033 {
00034 public:
00035   ImR_Iterator (CORBA::ULong n, Locator_Repository& repo, PortableServer::POA_ptr poa);
00036 
00037   /// Returns the next list of up to <how_many> servers.  If empty, will return
00038   /// false.
00039   virtual CORBA::Boolean next_n (
00040       CORBA::ULong how_many,
00041       ImplementationRepository::ServerInformationList_out server_list
00042     );
00043 
00044   virtual void destroy (void);
00045 
00046 private:
00047   Locator_Repository& repo_;
00048   CORBA::ULong count_;
00049   PortableServer::POA_ptr poa_;
00050 };
00051 
00052 #endif /* IMR_ITERATOR_H */

Generated on Sun Jan 27 15:54:50 2008 for TAO_Implementation_Repository by doxygen 1.3.6