Skip to content
Snippets Groups Projects
Behaviours.cpp 1.25 KiB
Newer Older
BehaviourTable::BehaviourTable()
{}
Matthew's avatar
Matthew committed
void BehaviourTable::add(Behaviour *b) {
        behaviours[num] = b;
        num++;
};
Behaviour * BehaviourTable::get(String n) {
        for( int i = 0; i < num; i++ ) {
                if( behaviours[i]->name() == n) { return behaviours[i]; }
        }
        return nullptr;
};
int BehaviourTable::get_num_behaviours() {
        return num;
};
Behaviour * BehaviourTable::get_by_num(int n) {
        return behaviours[n];
};

Behaviour::Behaviour(String name) : _name(name) {};
Behaviour::~Behaviour() {};

Matthew's avatar
Matthew committed
int Behaviour::is_temp() {
        return _temp;
};
void Behaviour::update() {
};
int Behaviour::is_interruptable() {
        return _interruptable;
};
int Behaviour::is_priority() {
        return _priority;
};
int Behaviour::is_running() {
        return _running;
};
int Behaviour::name() {
        return _name;
};
int Behaviour::start(String args) {
        Serial.println("Base start called <"+args+">");
};
int Behaviour::is_background() {
        return _background;
};
void Behaviour::stop() {
        _running = false;
};
char * Behaviour::args() {
        return "null";
};
TestBehaviour::TestBehaviour()
{};
Matthew's avatar
Matthew committed
int TestBehaviour::start(String args) {
        return "Test behaviour " + _name + " with (" + args + ")";
};