Commit 705fdb65 authored by Yann Garcia's avatar Yann Garcia
Browse files

Adding AAR support in Diameter codec

parent c053ede0
Loading
Loading
Loading
Loading
+85 −59
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@

#include "loggers.hh"

#include "diameter_aar_codec.hh"
#include "diameter_uar_codec.hh"

namespace LibDiameter__EncdecDeclarations {
@@ -21,7 +22,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os); 
  }
  
  INTEGER fx__dec__CER__MSG(BITSTRING&, LibDiameter__TypesAndValues::CER__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__CER__MSG(BITSTRING&, LibDiameter__TypesAndValues::CER__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__CEA__MSG(const LibDiameter__TypesAndValues::CEA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -37,7 +38,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__CEA__MSG(BITSTRING&, LibDiameter__TypesAndValues::CEA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__CEA__MSG(BITSTRING&, LibDiameter__TypesAndValues::CEA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__RAR__MSG(const LibDiameter__TypesAndValues::RAR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -53,7 +54,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__RAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::RAR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__RAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::RAR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__RAA__MSG(const LibDiameter__TypesAndValues::RAA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -69,7 +70,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__RAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::RAA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__RAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::RAA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__ACR__MSG(const LibDiameter__TypesAndValues::ACR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -85,7 +86,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__ACR__MSG(BITSTRING&, LibDiameter__TypesAndValues::ACR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__ACR__MSG(BITSTRING&, LibDiameter__TypesAndValues::ACR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__ACA__MSG(const LibDiameter__TypesAndValues::ACA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -101,7 +102,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__ACA__MSG(BITSTRING&, LibDiameter__TypesAndValues::ACA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__ACA__MSG(BITSTRING&, LibDiameter__TypesAndValues::ACA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__ASR__MSG(const LibDiameter__TypesAndValues::ASR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -117,7 +118,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__ASR__MSG(BITSTRING&, LibDiameter__TypesAndValues::ASR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__ASR__MSG(BITSTRING&, LibDiameter__TypesAndValues::ASR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__ASA__MSG(const LibDiameter__TypesAndValues::ASA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -133,7 +134,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__ASA__MSG(BITSTRING&, LibDiameter__TypesAndValues::ASA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__ASA__MSG(BITSTRING&, LibDiameter__TypesAndValues::ASA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__STR__MSG(const LibDiameter__TypesAndValues::STR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -149,7 +150,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__STR__MSG(BITSTRING&, LibDiameter__TypesAndValues::STR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__STR__MSG(BITSTRING&, LibDiameter__TypesAndValues::STR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__STA__MSG(const LibDiameter__TypesAndValues::STA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -165,7 +166,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__STA__MSG(BITSTRING&, LibDiameter__TypesAndValues::STA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__STA__MSG(BITSTRING&, LibDiameter__TypesAndValues::STA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__DWR__MSG(const LibDiameter__TypesAndValues::DWR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -181,7 +182,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__DWR__MSG(BITSTRING&, LibDiameter__TypesAndValues::DWR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__DWR__MSG(BITSTRING&, LibDiameter__TypesAndValues::DWR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__DWA__MSG(const LibDiameter__TypesAndValues::DWA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -197,7 +198,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__DWA__MSG(BITSTRING&, LibDiameter__TypesAndValues::DWA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__DWA__MSG(BITSTRING&, LibDiameter__TypesAndValues::DWA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__DPR__MSG(const LibDiameter__TypesAndValues::DPR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -213,7 +214,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__DPR__MSG(BITSTRING&, LibDiameter__TypesAndValues::DPR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__DPR__MSG(BITSTRING&, LibDiameter__TypesAndValues::DPR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__DPA__MSG(const LibDiameter__TypesAndValues::DPA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -229,7 +230,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__DPA__MSG(BITSTRING&, LibDiameter__TypesAndValues::DPA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__DPA__MSG(BITSTRING&, LibDiameter__TypesAndValues::DPA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__UAR__MSG(const LibDiameter__TypesAndValues::UAR__MSG& p) {
    loggers::get_instance().log_msg(">>> fx__enc__UAR__MSG: ", p);
@@ -250,12 +251,19 @@ namespace LibDiameter__EncdecDeclarations {
  }
  
  INTEGER fx__dec__UAR__MSG(BITSTRING& pdu, LibDiameter__TypesAndValues::UAR__MSG& p) {
    loggers::get_instance().log_msg(">>> fx__dec__UAR__MSG: ", p);

    float duration;
    std::string tag("fx__dec__UAR__MSG");
    loggers::get_instance().set_start_time(tag);

    OCTETSTRING os = bit2oct(pdu);
    diameter_uar_codec codec;
    codec.decode(os, p);
    int result = codec.decode(os, p);
    
    loggers::get_instance().set_stop_time(tag, duration);

    return INTEGER(0);
    return INTEGER(result);
 }

  BITSTRING fx__enc__UAA__MSG(const LibDiameter__TypesAndValues::UAA__MSG& p) {
@@ -272,7 +280,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__UAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::UAA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__UAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::UAA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__SAR__MSG(const LibDiameter__TypesAndValues::SAR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -288,7 +296,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__SAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::SAR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__SAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::SAR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__SAA__MSG(const LibDiameter__TypesAndValues::SAA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -304,7 +312,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__SAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::SAA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__SAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::SAA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__LIR__MSG(const LibDiameter__TypesAndValues::LIR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -320,7 +328,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__LIR__MSG(BITSTRING&, LibDiameter__TypesAndValues::LIR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__LIR__MSG(BITSTRING&, LibDiameter__TypesAndValues::LIR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__LIA__MSG(const LibDiameter__TypesAndValues::LIA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -336,7 +344,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__LIA__MSG(BITSTRING&, LibDiameter__TypesAndValues::LIA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__LIA__MSG(BITSTRING&, LibDiameter__TypesAndValues::LIA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__MAR__MSG(const LibDiameter__TypesAndValues::MAR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -352,7 +360,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__MAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::MAR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__MAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::MAR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__MAA__MSG(const LibDiameter__TypesAndValues::MAA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -368,7 +376,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__MAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::MAA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__MAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::MAA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__RTR__MSG(const LibDiameter__TypesAndValues::RTR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -384,7 +392,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__RTR__MSG(BITSTRING&, LibDiameter__TypesAndValues::RTR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__RTR__MSG(BITSTRING&, LibDiameter__TypesAndValues::RTR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__RTA__MSG(const LibDiameter__TypesAndValues::RTA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -400,7 +408,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__RTA__MSG(BITSTRING&, LibDiameter__TypesAndValues::RTA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__RTA__MSG(BITSTRING&, LibDiameter__TypesAndValues::RTA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PPR__MSG(const LibDiameter__TypesAndValues::PPR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -416,7 +424,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PPR__MSG(BITSTRING&, LibDiameter__TypesAndValues::PPR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PPR__MSG(BITSTRING&, LibDiameter__TypesAndValues::PPR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PPA__MSG(const LibDiameter__TypesAndValues::PPA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -432,7 +440,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PPA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PPA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PPA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PPA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__UDR__MSG(const LibDiameter__TypesAndValues::UDR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -448,7 +456,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__UDR__MSG(BITSTRING&, LibDiameter__TypesAndValues::UDR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__UDR__MSG(BITSTRING&, LibDiameter__TypesAndValues::UDR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__UDA__MSG(const LibDiameter__TypesAndValues::UDA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -464,7 +472,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__UDA__MSG(BITSTRING&, LibDiameter__TypesAndValues::UDA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__UDA__MSG(BITSTRING&, LibDiameter__TypesAndValues::UDA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PUR__MSG(const LibDiameter__TypesAndValues::PUR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -480,7 +488,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PUR__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PUR__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PUA__MSG(const LibDiameter__TypesAndValues::PUA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -496,7 +504,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PUA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PUA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__SNR__MSG(const LibDiameter__TypesAndValues::SNR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -512,7 +520,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__SNR__MSG(BITSTRING&, LibDiameter__TypesAndValues::SNR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__SNR__MSG(BITSTRING&, LibDiameter__TypesAndValues::SNR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__SNA__MSG(const LibDiameter__TypesAndValues::SNA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -528,7 +536,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__SNA__MSG(BITSTRING&, LibDiameter__TypesAndValues::SNA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__SNA__MSG(BITSTRING&, LibDiameter__TypesAndValues::SNA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PNR__MSG(const LibDiameter__TypesAndValues::PNR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -544,7 +552,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PNR__MSG(BITSTRING&, LibDiameter__TypesAndValues::PNR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PNR__MSG(BITSTRING&, LibDiameter__TypesAndValues::PNR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PNA__MSG(const LibDiameter__TypesAndValues::PNA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -560,7 +568,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PNA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PNA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PNA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PNA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__CCR__MSG(const LibDiameter__TypesAndValues::CCR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -576,7 +584,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__CCR__MSG(BITSTRING&, LibDiameter__TypesAndValues::CCR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__CCR__MSG(BITSTRING&, LibDiameter__TypesAndValues::CCR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__CCA__MSG(const LibDiameter__TypesAndValues::CCA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -592,23 +600,41 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__CCA__MSG(BITSTRING&, LibDiameter__TypesAndValues::CCA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__CCA__MSG(BITSTRING&, LibDiameter__TypesAndValues::CCA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__AAR__MSG(const LibDiameter__TypesAndValues::AAR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
    loggers::get_instance().log_msg(">>> fx__enc__AAR__MSG: ", p);

    float duration;
    std::string tag("  BITSTRING fx__enc__Request");
    std::string tag("fx__enc__AAR__MSG");
    loggers::get_instance().set_start_time(tag);

    OCTETSTRING os;
    // TODO
    diameter_aar_codec codec;
    if (codec.encode(p, os) == -1) {
      loggers::get_instance().warning("fx__enc__AAR__MSG: -1 result code was returned");
      return int2bit(0, 1);
    }
    loggers::get_instance().set_stop_time(tag, duration);
    
    return oct2bit(os);
  }
  
  INTEGER fx__dec__AAR__MSG(BITSTRING&, LibDiameter__TypesAndValues::AAR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__AAR__MSG(BITSTRING& pdu, LibDiameter__TypesAndValues::AAR__MSG& p) {
    loggers::get_instance().log_msg(">>> fx__dec__AAR__MSG: ", pdu);

    float duration;
    std::string tag("fx__dec__AAR__MSG");
    loggers::get_instance().set_start_time(tag);

    OCTETSTRING os = bit2oct(pdu);
    diameter_aar_codec codec;
    int result = codec.decode(os, p);
    
    loggers::get_instance().set_stop_time(tag, duration);

    return INTEGER(result);
  }

  BITSTRING fx__enc__AAA__MSG(const LibDiameter__TypesAndValues::AAA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -624,7 +650,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__AAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::AAA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__AAA__MSG(BITSTRING&, LibDiameter__TypesAndValues::AAA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__ULR__MSG(const LibDiameter__TypesAndValues::ULR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -640,7 +666,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__ULR__MSG(BITSTRING&, LibDiameter__TypesAndValues::ULR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__ULR__MSG(BITSTRING&, LibDiameter__TypesAndValues::ULR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__ULA__MSG(const LibDiameter__TypesAndValues::ULA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -656,7 +682,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__ULA__MSG(BITSTRING&, LibDiameter__TypesAndValues::ULA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__ULA__MSG(BITSTRING&, LibDiameter__TypesAndValues::ULA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__AIR__MSG(const LibDiameter__TypesAndValues::AIR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -672,7 +698,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__AIR__MSG(BITSTRING&, LibDiameter__TypesAndValues::AIR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__AIR__MSG(BITSTRING&, LibDiameter__TypesAndValues::AIR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__AIA__MSG(const LibDiameter__TypesAndValues::AIA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -688,7 +714,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__AIA__MSG(BITSTRING&, LibDiameter__TypesAndValues::AIA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__AIA__MSG(BITSTRING&, LibDiameter__TypesAndValues::AIA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__CLR__MSG(const LibDiameter__TypesAndValues::CLR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -704,7 +730,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__CLR__MSG(BITSTRING&, LibDiameter__TypesAndValues::CLR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__CLR__MSG(BITSTRING&, LibDiameter__TypesAndValues::CLR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__CLA__MSG(const LibDiameter__TypesAndValues::CLA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -720,7 +746,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__CLA__MSG(BITSTRING&, LibDiameter__TypesAndValues::CLA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__CLA__MSG(BITSTRING&, LibDiameter__TypesAndValues::CLA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__IDR__MSG(const LibDiameter__TypesAndValues::IDR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -736,7 +762,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__IDR__MSG(BITSTRING&, LibDiameter__TypesAndValues::IDR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__IDR__MSG(BITSTRING&, LibDiameter__TypesAndValues::IDR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__IDA__MSG(const LibDiameter__TypesAndValues::IDA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -752,7 +778,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__IDA__MSG(BITSTRING&, LibDiameter__TypesAndValues::IDA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__IDA__MSG(BITSTRING&, LibDiameter__TypesAndValues::IDA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__DSR__MSG(const LibDiameter__TypesAndValues::DSR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -768,7 +794,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__DSR__MSG(BITSTRING&, LibDiameter__TypesAndValues::DSR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__DSR__MSG(BITSTRING&, LibDiameter__TypesAndValues::DSR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__DSA__MSG(const LibDiameter__TypesAndValues::DSA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -784,7 +810,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__DSA__MSG(BITSTRING&, LibDiameter__TypesAndValues::DSA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__DSA__MSG(BITSTRING&, LibDiameter__TypesAndValues::DSA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__RSR__MSG(const LibDiameter__TypesAndValues::RSR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -800,7 +826,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__RSR__MSG(BITSTRING&, LibDiameter__TypesAndValues::RSR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__RSR__MSG(BITSTRING&, LibDiameter__TypesAndValues::RSR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__RSA__MSG(const LibDiameter__TypesAndValues::RSA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -816,7 +842,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__RSA__MSG(BITSTRING&, LibDiameter__TypesAndValues::RSA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__RSA__MSG(BITSTRING&, LibDiameter__TypesAndValues::RSA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__NOR__MSG(const LibDiameter__TypesAndValues::NOR__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -832,7 +858,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__NOR__MSG(BITSTRING&, LibDiameter__TypesAndValues::NOR__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__NOR__MSG(BITSTRING&, LibDiameter__TypesAndValues::NOR__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__NOA__MSG(const LibDiameter__TypesAndValues::NOA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -848,7 +874,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__NOA__MSG(BITSTRING&, LibDiameter__TypesAndValues::NOA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__NOA__MSG(BITSTRING&, LibDiameter__TypesAndValues::NOA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PUER__MSG(const LibDiameter__TypesAndValues::PUER__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -864,7 +890,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PUER__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUER__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PUER__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUER__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__PUEA__MSG(const LibDiameter__TypesAndValues::PUEA__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -880,7 +906,7 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__PUEA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUEA__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__PUEA__MSG(BITSTRING&, LibDiameter__TypesAndValues::PUEA__MSG& p) { return INTEGER(-1); }

  BITSTRING fx__enc__UNKNOWN__MSG(const LibDiameter__TypesAndValues::UNKNOWN__MSG& p) {
    loggers::get_instance().log_msg(">>>   BITSTRING fx__enc__Request: ", p);
@@ -896,6 +922,6 @@ namespace LibDiameter__EncdecDeclarations {
    return oct2bit(os);
  }
  
  INTEGER fx__dec__UNKNOWN__MSG(BITSTRING&, LibDiameter__TypesAndValues::UNKNOWN__MSG& p) { return INTEGER(0); }
  INTEGER fx__dec__UNKNOWN__MSG(BITSTRING&, LibDiameter__TypesAndValues::UNKNOWN__MSG& p) { return INTEGER(-1); }

} // End of namespace LibDiameter__EncdecDeclarations
+99 −0

File changed.

Preview size limit exceeded, changes collapsed.

+9 −1
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@


#include "LibDiameter_TypesAndValues.hh"
#include "LibDiameter_Types_Rx_AVPs.hh"

class avp {
    const int _code;
@@ -23,6 +24,7 @@ public:
  virtual ~avp() {};

  int get_code() const;
  const std::vector<unsigned char>& get_payload() const;

  int encode_auth_session_state(const LibDiameter__Types__Base__AVPs::Auth__Session__State__AVP& p_avp, std::unique_ptr<avp>& p_encoded_avp);

@@ -32,5 +34,11 @@ public:
  int decode_origin_realm(LibDiameter__Types__Base__AVPs::Origin__Realm__AVP& p_avp) const;
  int decode_destination_host(LibDiameter__Types__Base__AVPs::Destination__Host__AVP& p_avp) const;
  int decode_destination_realm(LibDiameter__Types__Base__AVPs::Destination__Realm__AVP& p_avp) const;

  int decode_auth_Application_Id(LibDiameter__Types__Base__AVPs::Auth__Application__Id__AVP& p_avp) const;
  int decode_framed_IP_Address(LibDiameter__Types__Base__AVPs::Framed__IP__Address__AVP& p_avp) const;
  int decode_media_Component_Description(LibDiameter__Types__Rx__AVPs::Media__Component__Description__AVP& p_avp) const;
  int decode_media_Component_Number(LibDiameter__Types__Base__AVPs::Media__Component__Number__AVP& p_avp) const;
  int decode_media_Sub_Component(LibDiameter__Types__Rx__AVPs::Media__Sub__Component__AVP& p_avp) const;
  int decode_media_Type(LibDiameter__Types__Rx__AVPs::Media__Type__AVP& p_avp) const;
  int decode_af_Application_Identifier(LibDiameter__Types__Rx__AVPs::AF__Application__Identifier__AVP& p_avp) const;
}; // End of class avp
 No newline at end of file
+183 −0

File added.

Preview size limit exceeded, changes collapsed.

+52 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading