BerSetObject.cpp
1 /** 2 * @file BerSetObject.cpp 3 * @author Rene Ceska xceska06 (xceska06@stud.fit.vutbr.cz) 4 * @date 2023-11-19 5 */ 6 #include "inc/BerSetObject.h" 7 8 berObjectTypes BerSetObject::getBerObjectType() { return berSequenceObject; } 9 10 long long int BerSetObject::getLenght() { 11 12 long long int dataLenght = 0; 13 14 for (long unsigned int i = 0; i < objects.size(); i++) { 15 dataLenght += objects[i]->getLenght(); 16 } 17 18 return BER_TAG_LENGTH + BER_LENGTH_OF_LENGTH_TAG + BER_4BYTE_LENGTH_LENGTH + 19 dataLenght; 20 } 21 22 std::vector<unsigned char> BerSetObject::getBerRepresentation() { 23 std::vector<unsigned char> berRepresentation; 24 long long int dataLenght = 0; 25 for (long unsigned int i = 0; i < objects.size(); i++) { 26 dataLenght += objects[i]->getLenght(); 27 } 28 29 berRepresentation.push_back(BER_SET_C); 30 AppendLenght4Bytes(berRepresentation, dataLenght); 31 for (long unsigned int i = 0; i < objects.size(); i++) { 32 std::vector<unsigned char> objectRepresentation = 33 objects[i]->getBerRepresentation(); 34 berRepresentation.insert(berRepresentation.end(), 35 objectRepresentation.begin(), 36 objectRepresentation.end()); 37 } 38 39 return berRepresentation; 40 } 41 42 BerSetObject::BerSetObject() {} 43 44 BerSetObject::~BerSetObject() { 45 for (long unsigned int i = 0; i < objects.size(); i++) { 46 delete objects[i]; 47 } 48 }