diff options
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service/Iterator.h')
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/Iterator.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/Iterator.h b/TAO/orbsvcs/ImplRepo_Service/Iterator.h index db02e5f33b9..ff74eaee1ad 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Iterator.h +++ b/TAO/orbsvcs/ImplRepo_Service/Iterator.h @@ -15,6 +15,7 @@ #define IMR_ITERATOR_H #include "Locator_Repository.h" +#include "AsyncListManager.h" #include "tao/PortableServer/PortableServer.h" #include "ImplRepoS.h" @@ -22,6 +23,27 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ + + +class ImR_AsyncIterator + : public POA_ImplementationRepository::AMH_ServerInformationIterator +{ +public: + ImR_AsyncIterator (CORBA::ULong start, + AsyncListManager *lister); + + virtual void next_n + (ImplementationRepository::AMH_ServerInformationIteratorResponseHandler_ptr _tao_rh, + CORBA::ULong how_many); + + virtual void destroy + (ImplementationRepository::AMH_ServerInformationIteratorResponseHandler_ptr _tao_rh); + +private: + CORBA::ULong count_; + AsyncListManager_ptr lister_; +}; + /** * @class ImR_Iterator * @@ -32,7 +54,9 @@ class ImR_Iterator : public POA_ImplementationRepository::ServerInformationIterator { public: - ImR_Iterator (CORBA::ULong n, Locator_Repository& repo, PortableServer::POA_ptr poa); + ImR_Iterator (CORBA::ULong start, + Locator_Repository& repo, + PortableServer::POA_ptr poa); /// Returns the next list of up to <how_many> servers. If empty, will return /// false. |