/ src / BerStringObject.cpp
BerStringObject.cpp
 1  /**
 2   * @file BerStringObject.cpp
 3   * @author Rene Ceska xceska06 (xceska06@stud.fit.vutbr.cz)
 4   * @date 2023-11-19
 5   */
 6  #include "inc/BerStringObject.h"
 7  
 8  berObjectTypes BerStringObject::getBerObjectType() { return berStringObject; }
 9  long long int BerStringObject::getLenght() {
10  
11    return BER_TAG_LENGTH + BER_LENGTH_OF_LENGTH_TAG + BER_4BYTE_LENGTH_LENGTH +
12           value.size();
13  }
14  
15  std::vector<unsigned char> BerStringObject::getBerRepresentation() {
16    std::vector<unsigned char> berRepresentation;
17    berRepresentation.push_back(BER_OCTET_STRING_C);
18    AppendLenght4Bytes(berRepresentation, value.size());
19    berRepresentation.insert(berRepresentation.end(), value.begin(), value.end());
20    return berRepresentation;
21  }
22  
23  BerStringObject::BerStringObject() {}
24  
25  BerStringObject::BerStringObject(std::vector<unsigned char> value) {
26    this->value = value;
27  }
28  BerStringObject::BerStringObject(std::string value) {
29  
30    this->value = std::vector<unsigned char>(value.begin(), value.end());
31  }