aboutsummaryrefslogtreecommitdiff
path: root/src/profile.h
blob: 4f89306283bed5941e7581e0c01270b96db17e67 (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/string.h>

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

	const Bu::String &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::String sName;
	const class AstBranch *pRoot;
	class Condition *pCond;
	class Ast *pAst;
};

#endif