Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

src/ConfigurationHandler/Controls/CompositeControl.h

Committer:
jmarkel44
Date:
2016-10-14
Revision:
220:dbe21411f962
Parent:
195:21df85341cb3
Child:
221:2a5e9902003c

File content as of revision 220:dbe21411f962:

/******************************************************************************
 *
 * File:                CompositeControl.h
 * Desciption:          ICE Composite Control Class
 *
 *****************************************************************************/
#ifndef COMPOSITECONTROL_H
#define COMPOSITECONTROL_H

#include <string>
#include <vector>
#include <stdio.h>



class CompositeControl
{
private:
    typedef struct oe_tag {
        std::string     tag;
        std::string     response;
    } OutputElement;
    
    std::string                 controlFile;    // the control file
    std::string                 id;             // composite identifier
    unsigned int                priority;       // control priority
    std::string                 ca;             // control algorithm
    std::vector<std::string>    inputs;         // (virtual) input(s)
    std::vector<OutputElement>  outputs;        // (virtual) output(s)
public:
    CompositeControl() { }
    ~CompositeControl() {
        printf("\r%s invoked\n", __func__);
    }

    bool load(std::string controlFile);

    std::string getControlFile(void) const {
        return controlFile;
    }
    std::string getId(void) const {
        return id;
    }

    std::vector<std::string> getInputs(void) const;
    std::vector<std::string> getOutputs(void) const;

    // unregister the control with the output task
    void unregisterControl(void);
    
    void display(void);
};

#endif