/* Web Polygraph http://www.web-polygraph.org/
* (C) 2003-2006 The Measurement Factory
* Licensed under the Apache License, Version 2.0 */
#ifndef POLYGRAPH__PGL_PHASESYM_H
#define POLYGRAPH__PGL_PHASESYM_H
#include "xstd/String.h"
#include "xstd/Array.h"
#include "pgl/PglRecSym.h"
class GoalSym;
class RptmstatSym;
class CodeSym;
class StatsSampleSym;
// base class for robot and server symbols
class PhaseSym: public RecSym {
public:
typedef bool (PhaseSym::*FactorFunc)(double &rf) const;
public:
static const String TheType;
public:
PhaseSym();
PhaseSym(const String &aType, PglRec *aRec);
virtual bool isA(const String &type) const;
void name(const String &aName);
String name() const;
GoalSym *goal() const;
RptmstatSym *rptmstat() const;
CodeSym *script() const;
bool populusFactorBeg(double &f) const;
bool populusFactorEnd(double &f) const;
bool loadFactorBeg(double &f) const;
bool loadFactorEnd(double &f) const;
bool recurFactorBeg(double &rf) const;
bool recurFactorEnd(double &rf) const;
bool specialMsgFactorBeg(double &f) const;
bool specialMsgFactorEnd(double &f) const;
bool statsSamples(Array<const StatsSampleSym*> &samples) const;
bool logStats(bool &ls) const;
bool waitWssFreeze(bool &wwf) const;
bool synchronize(bool &s) const;
protected:
virtual SynSym *dupe(const String &dType) const;
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1