Version FC

Dependencies:   DmTftLibrary eeprom SX1280Lib filesystem mbed

Fork of MSNV2-Terminal_V1-5 by Francis CHATAIN

Committer:
patrick_duc
Date:
Thu Aug 30 08:48:19 2018 +0000
Revision:
19:4b147d8f9164
Parent:
18:d5e7e56b0a0d
Child:
20:b0281e8a375a
Renommage de la classe Channel en Service.

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 18:d5e7e56b0a0d 5 Payload::Payload(Payload::PAYLOAD_ID id, std::vector<Component*> components) : _id(id), _components(components) {
patrick_duc 18:d5e7e56b0a0d 6 for (std::vector<Component*>::iterator it = this->_components.begin(); it != this->_components.end(); it++) {
patrick_duc 18:d5e7e56b0a0d 7 Component* component = *it;
patrick_duc 19:4b147d8f9164 8 for(std::vector<Service*>::iterator it = component->getServices().begin(); it != component->getServices().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 19:4b147d8f9164 15 for (Service* channel : component.getServices()) {
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 19:4b147d8f9164 22 Service* Payload::getServiceByRank(short channelRank) {
patrick_duc 13:5414193da1de 23 /*
patrick_duc 13:5414193da1de 24 if (channelRank < 1 || channelRank > 6) {
patrick_duc 19:4b147d8f9164 25 throw ServiceException();
patrick_duc 13:5414193da1de 26 }
patrick_duc 13:5414193da1de 27 */
patrick_duc 13:5414193da1de 28 if (channelRank < 1 || channelRank > 6) {
patrick_duc 19:4b147d8f9164 29 return (Service*) 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
lo 16:a15cd98debe7 41 //std::vector<const Component>::iterator it;
patrick_duc 18:d5e7e56b0a0d 42 std::vector< Component*>::iterator it;
lo 16:a15cd98debe7 43 //for (it = payload._components.begin(); it != payload._components.end(); it++) {
patrick_duc 18:d5e7e56b0a0d 44 // std::cout << **it << std::endl;
lo 16:a15cd98debe7 45 //}
patrick_duc 13:5414193da1de 46
patrick_duc 19:4b147d8f9164 47 std::vector<Service*> channels = payload._channels;
patrick_duc 13:5414193da1de 48
patrick_duc 13:5414193da1de 49 out << "There are " << channels.size() << " channels." << std::endl;
patrick_duc 13:5414193da1de 50 out << "List of channels :\n------------------" << std::endl;
patrick_duc 13:5414193da1de 51
patrick_duc 19:4b147d8f9164 52 for(std::vector<Service*>::iterator it = channels.begin(); it != channels.end(); it++) {
patrick_duc 19:4b147d8f9164 53 Service* channel = *it;
patrick_duc 13:5414193da1de 54 std::cout << *channel << std::endl;
patrick_duc 13:5414193da1de 55 }
patrick_duc 13:5414193da1de 56
patrick_duc 13:5414193da1de 57 /*
patrick_duc 18:d5e7e56b0a0d 58 for (Component* component : payload._components) {
patrick_duc 18:d5e7e56b0a0d 59 out << " (component : " << *component << ")";
patrick_duc 13:5414193da1de 60 }
patrick_duc 13:5414193da1de 61
patrick_duc 19:4b147d8f9164 62 for (Service* channel : payload._channels) {
patrick_duc 13:5414193da1de 63 out << " (channel : " << *channel << ")";
patrick_duc 13:5414193da1de 64 }
patrick_duc 13:5414193da1de 65 */
patrick_duc 13:5414193da1de 66
patrick_duc 13:5414193da1de 67 return out;
patrick_duc 13:5414193da1de 68 }