Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Payload.hpp

Committer:
patrick_duc
Date:
2018-10-19
Branch:
Integration
Revision:
38:9b43b2415093
Parent:
20:b0281e8a375a
Child:
39:13e66d087ae9

File content as of revision 38:9b43b2415093:

#ifndef __PAYLOAD_HPP___HPP__
#define __PAYLOAD_HPP___HPP__

#include "Context.h"

#include <vector>
//#include <sstream>

#include "Component.hpp"


namespace misnet
{
class Payload;
}


class misnet::Payload
{
public:
    // TODO : provide a real list of payload identifiers !
    enum PAYLOAD_ID {
        IOT_PAYLOAD_1           = 1,
        IOT_PAYLOAD_2           = 2,
        IOT_PAYLOAD_3           = 3,
        IOT_PAYLOAD_4           = 4,
        IOT_PAYLOAD_5           = 5,
        IOT_PAYLOAD_6           = 6,
        SMART_TOOL_PAYLOAD_1    = 7,
        SMART_TOOL_PAYLOAD_2    = 8,
        SMART_TOOL_PAYLOAD_3    = 9,
        SMART_TOOL_PAYLOAD_4    = 10
    } ;

    Payload(PAYLOAD_ID id, std::vector<misnet::Component*> components, uint16_t base_period);

    std::vector<misnet::Component*>& getComponents() {
        return this->_components;
    }

    std::vector<misnet::Service*>& getServices() {
        return this->_services;
    }

    misnet::Service* getServiceByRank(short channelRank);

    PAYLOAD_ID getId() {
        return this->_id;
    }

    uint16_t getBasePeriod() {
        return this->_basePeriod;
    }

    std::string toString();


private:
    const PAYLOAD_ID                    _id;
    std::vector<misnet::Component*>     _components;
    std::vector<misnet::Service*>       _services;
    uint16_t                            _basePeriod;
};

#endif // __PAYLOAD_HPP__