aboutsummaryrefslogtreecommitdiff
path: root/src/profile.h
blob: dbcc1ea0fc06960e541fbe5c348bbc616c0170ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef PROFILE_H
#define PROFILE_H

#include <bu/fstring.h>

class Profile
{
public:
	Profile( const class AstBranch *pRoot );
	Profile( const Profile &rSrc );
	virtual ~Profile();

	const Bu::FString &getName() const;
	const class AstBranch *getRoot() const;
	const class Condition *getCond() const;
	bool shouldExec( class Runner &r, class Target &rTarget ) const;

	static Profile *genDefaultClean();

private:
	void setCondition();

private:
	Bu::FString sName;
	const class AstBranch *pRoot;
	class Condition *pCond;
	class Ast *pAst;
};

#endif