aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/pluginConditionRandom.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2010-01-06 17:05:45 +0000
committerMike Buland <eichlan@xagasoft.com>2010-01-06 17:05:45 +0000
commit3c7e81d3baba06cb1bf37de84aeaa6cad277652a (patch)
tree166e9309a0be01e6b4e8591434372e4817a65d76 /src/plugins/pluginConditionRandom.cpp
parente809677b1d5a02b93a0be7a9fce8a6b67d0d91be (diff)
downloadbuild-3c7e81d3baba06cb1bf37de84aeaa6cad277652a.tar.gz
build-3c7e81d3baba06cb1bf37de84aeaa6cad277652a.tar.bz2
build-3c7e81d3baba06cb1bf37de84aeaa6cad277652a.tar.xz
build-3c7e81d3baba06cb1bf37de84aeaa6cad277652a.zip
Wow, ok, well, I added some more error handling, that's positive, also switched
conditions and functions to a plugger system like views, and all of them now load builtin and external plugins flawlessly. It's actually a lot of fun. I also added the example/test plugin condition "random" it randomly builds targets...it's not really useful...
Diffstat (limited to 'src/plugins/pluginConditionRandom.cpp')
-rw-r--r--src/plugins/pluginConditionRandom.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/plugins/pluginConditionRandom.cpp b/src/plugins/pluginConditionRandom.cpp
new file mode 100644
index 0000000..42a4e00
--- /dev/null
+++ b/src/plugins/pluginConditionRandom.cpp
@@ -0,0 +1,31 @@
1#include "condition.h"
2#include <stdlib.h>
3
4class ConditionRandom : public Condition
5{
6public:
7 ConditionRandom()
8 {
9 }
10
11 virtual ~ConditionRandom()
12 {
13 }
14
15 virtual bool shouldExec( class Runner &, class Target & )
16 {
17 if( (random()/(double)RAND_MAX) >= .5 )
18 return true;
19 return false;
20 }
21
22 virtual Condition *clone()
23 {
24 return new ConditionRandom();
25 }
26};
27
28#include <bu/plugger.h>
29PluginInterface3( pluginConditionRandom, random, ConditionRandom, Condition,
30 "Mike Buland", 0, 1 );
31