/* Web Polygraph       http://www.web-polygraph.org/
 * (C) 2003-2006 The Measurement Factory
 * Licensed under the Apache License, Version 2.0 */

#ifndef POLYGRAPH__CLIENT_PRIVWORLDS_H
#define POLYGRAPH__CLIENT_PRIVWORLDS_H

class HostCfg;
class NetAddr;
class PrivWorld;
class Client;

// iterates over client's private worlds (of visible servers)
class PrivWorldIterator {
	public:
		PrivWorldIterator(Client *aClient);

		int count() const;
		bool atEnd() const;

		int viserv() const;
		HostCfg *host() const;
		const NetAddr &addr() const;
		PrivWorld &privWorld() const;

		PrivWorldIterator &operator ++();
		void next();
	
	protected:
		void sync();

	protected:
		Client *theClient;
		int theIdx;
};

#endif


syntax highlighted by Code2HTML, v. 0.9.1