Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
patrick_duc
Date:
Mon Aug 27 16:32:50 2018 +0000
Revision:
13:5414193da1de
Child:
16:a15cd98debe7
Classes de gestion de la database

Who changed what in which revision?

UserRevisionLine numberNew contents of line
patrick_duc 13:5414193da1de 1 //#include <strstream>
patrick_duc 13:5414193da1de 2 #include "Component.hpp"
patrick_duc 13:5414193da1de 3 #include "Payload.hpp"
patrick_duc 13:5414193da1de 4
patrick_duc 13:5414193da1de 5 Payload::Payload(Payload::PAYLOAD_ID id, std::vector<Component> components) : _id(id), _components(components) {
patrick_duc 13:5414193da1de 6 for (std::vector<Component>::iterator it = this->_components.begin(); it != this->_components.end(); it++) {
patrick_duc 13:5414193da1de 7 Component component = *it;
patrick_duc 13:5414193da1de 8 for(std::vector<Channel*>::iterator it = component.getChannels().begin(); it != component.getChannels().end(); it++) {
patrick_duc 13:5414193da1de 9 this->_channels.push_back(*it);
patrick_duc 13:5414193da1de 10 }
patrick_duc 13:5414193da1de 11 }
patrick_duc 13:5414193da1de 12
patrick_duc 13:5414193da1de 13 /*
patrick_duc 13:5414193da1de 14 for (Component component : this->_components) {
patrick_duc 13:5414193da1de 15 for (Channel* channel : component.getChannels()) {
patrick_duc 13:5414193da1de 16 this->_channels.push_back(channel);
patrick_duc 13:5414193da1de 17 }
patrick_duc 13:5414193da1de 18 */
patrick_duc 13:5414193da1de 19 }
patrick_duc 13:5414193da1de 20
patrick_duc 13:5414193da1de 21
patrick_duc 13:5414193da1de 22 Channel* Payload::getChannelByRank(short channelRank) {
patrick_duc 13:5414193da1de 23 /*
patrick_duc 13:5414193da1de 24 if (channelRank < 1 || channelRank > 6) {
patrick_duc 13:5414193da1de 25 throw ChannelException();
patrick_duc 13:5414193da1de 26 }
patrick_duc 13:5414193da1de 27 */
patrick_duc 13:5414193da1de 28 if (channelRank < 1 || channelRank > 6) {
patrick_duc 13:5414193da1de 29 return (Channel*) NULL;
patrick_duc 13:5414193da1de 30 }
patrick_duc 13:5414193da1de 31
patrick_duc 13:5414193da1de 32 return this->_channels[channelRank - 1];
patrick_duc 13:5414193da1de 33 }
patrick_duc 13:5414193da1de 34
patrick_duc 13:5414193da1de 35
patrick_duc 13:5414193da1de 36 std::ostream& operator<<(std::ostream& out, const Payload& payload) {
patrick_duc 13:5414193da1de 37 out << "Payload id : " << payload._id << std::endl;
patrick_duc 13:5414193da1de 38 out << "It contains " << payload._components.size() << " components" << std::endl;
patrick_duc 13:5414193da1de 39 out << "List of components :\n------------------" << std::endl;
patrick_duc 13:5414193da1de 40
patrick_duc 13:5414193da1de 41 std::vector<const Component>::iterator it;
patrick_duc 13:5414193da1de 42 for (it = payload._components.begin(); it != payload._components.end(); it++) {
patrick_duc 13:5414193da1de 43 std::cout << *it << std::endl;
patrick_duc 13:5414193da1de 44 }
patrick_duc 13:5414193da1de 45
patrick_duc 13:5414193da1de 46 std::vector<Channel*> channels = payload._channels;
patrick_duc 13:5414193da1de 47
patrick_duc 13:5414193da1de 48 out << "There are " << channels.size() << " channels." << std::endl;
patrick_duc 13:5414193da1de 49 out << "List of channels :\n------------------" << std::endl;
patrick_duc 13:5414193da1de 50
patrick_duc 13:5414193da1de 51 for(std::vector<Channel*>::iterator it = channels.begin(); it != channels.end(); it++) {
patrick_duc 13:5414193da1de 52 Channel* channel = *it;
patrick_duc 13:5414193da1de 53 std::cout << *channel << std::endl;
patrick_duc 13:5414193da1de 54 }
patrick_duc 13:5414193da1de 55
patrick_duc 13:5414193da1de 56 /*
patrick_duc 13:5414193da1de 57 for (Component component : payload._components) {
patrick_duc 13:5414193da1de 58 out << " (component : " << component << ")";
patrick_duc 13:5414193da1de 59 }
patrick_duc 13:5414193da1de 60
patrick_duc 13:5414193da1de 61 for (Channel* channel : payload._channels) {
patrick_duc 13:5414193da1de 62 out << " (channel : " << *channel << ")";
patrick_duc 13:5414193da1de 63 }
patrick_duc 13:5414193da1de 64 */
patrick_duc 13:5414193da1de 65
patrick_duc 13:5414193da1de 66 return out;
patrick_duc 13:5414193da1de 67 }