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

#ifndef POLYGRAPH__CLIENT_PRIVWORLD_H
#define POLYGRAPH__CLIENT_PRIVWORLD_H

#include "runtime/ObjWorld.h"

class PrivWorld: public ObjWorld {
	public:
		// based on all local private worlds
		static int TheFrozenCount;
		static int TheTotalCount;
		static int TheWss;

		static bool Frozen();

	public:
		PrivWorld() {}
		PrivWorld(const UniqId &anId);

		void produce(ObjId &oid, RndGen &rng);
		void freezeWss();
};

inline
OBStream &operator <<(OBStream &os, const PrivWorld &pw) {
	pw.store(os);
	return os;
}

inline
IBStream &operator >>(IBStream &is, PrivWorld &pw) {
	pw.load(is);
	return is;
}

#endif


syntax highlighted by Code2HTML, v. 0.9.1