44 lines
923 B
C++
Executable File
44 lines
923 B
C++
Executable File
|
|
#pragma once
|
|
|
|
#include <wfr/common/wep/AbstractWepNode.h>
|
|
|
|
|
|
// Forward declarations
|
|
namespace wfr {
|
|
namespace enactment {
|
|
class WepBuilder;
|
|
}
|
|
namespace wfs {
|
|
class ActivityInstance;
|
|
}
|
|
|
|
// Main namespace
|
|
namespace wep {
|
|
|
|
|
|
class ActivityWepNode : public AbstractWepNode {
|
|
friend class enactment::WepBuilder;
|
|
|
|
// Mutable properties that need to be accessed via getter-/setter-functions.
|
|
protected:
|
|
wfr::wfs::ActivityInstanceStatus lastKnownActivityStatus;
|
|
|
|
// Invariant properties that can be accessed directly.
|
|
public:
|
|
wfs::ActivityInstance& activity;
|
|
|
|
public:
|
|
ActivityWepNode(WepNodeType nodeType, wfs::ActivityInstance& activity) noexcept;
|
|
|
|
virtual void addToVisitationCount(uint64_t val = 1) noexcept override;
|
|
|
|
virtual wfs::ActivityInstanceStatus getLastKnownInstanceStatus() const noexcept { return lastKnownActivityStatus; }
|
|
|
|
virtual void updateInstanceStatus();
|
|
};
|
|
|
|
} /* namespace wep */
|
|
} /* namespace wfr */
|
|
|