Iterator.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //=============================================================================
00003 /**
00004  *  @file   Iterator.h
00005  *
00006  *  Iterator.h,v 1.9 2005/07/04 08:55:12 jwillemsen Exp
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       ACE_ENV_ARG_DECL_WITH_DEFAULTS
00043     )
00044     ACE_THROW_SPEC ((CORBA::SystemException));
00045 
00046   virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00047     ACE_THROW_SPEC ((CORBA::SystemException));
00048 
00049 private:
00050   Locator_Repository& repo_;
00051   CORBA::ULong count_;
00052   PortableServer::POA_ptr poa_;
00053 };
00054 
00055 #endif /* IMR_ITERATOR_H */

Generated on Thu Nov 9 13:36:20 2006 for TAO_Implementation_Repository by doxygen 1.3.6