blob: 9420b0e8f00e79eed0781407effb1c63a1d0fab1 [file] [log] [blame]
/*
* Copyright (c) 2019, Infosys Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef STRUCTS_H_
#define STRUCTS_H_
#include <iostream>
#include "msgType.h"
#include "s1ap_structs.h"
#include "ue_table.h"
#include "s11_structs.h"
#include <utils/mmeProcedureTypes.h>
class Tai
{
public:
Tai();
Tai( const TAI& tai_i );
~Tai();
void operator = ( const Tai& tai_i );
public:
TAI tai_m;
};
class Cgi
{
public:
Cgi();
Cgi( const CGI& cgi_i );
~Cgi();
void operator = ( const Cgi& cgi_i );
public:
CGI cgi_m;
};
class Stmsi
{
public:
Stmsi();
Stmsi( const STMSI& stmsi_i );
~Stmsi();
void operator = ( const Stmsi& stmsi_i );
public:
STMSI stmsi_m;
};
class Arp
{
public:
Arp();
Arp( const ARP& arp_i );
~Arp();
void operator = ( const Arp& arp_i );
public:
ARP arp_m;
};
class Ms_net_capab
{
public:
Ms_net_capab();
Ms_net_capab( const MS_net_capab& ms_net_capb_i );
~Ms_net_capab();
void operator = ( const Ms_net_capab& ms_net_capb_i );
public:
MS_net_capab ms_net_capab_m;
};
class Ue_net_capab
{
public:
Ue_net_capab();
Ue_net_capab( const UE_net_capab& ue_net_capab_i );
~Ue_net_capab();
void operator = ( const Ue_net_capab& ue_net_capab_i );
public:
UE_net_capab ue_net_capab_m;
};
class Secinfo
{
public:
Secinfo();
Secinfo( const secinfo& secinfo_i );
~Secinfo();
void operator = ( const Secinfo& secinfo_i );
public:
secinfo secinfo_m;
};
class Ambr
{
public:
Ambr();
Ambr( const AMBR& ambr_i );
~Ambr();
void operator = ( const Ambr& ambr_i );
public:
AMBR ambr_m;
};
class E_utran_sec_vector
{
public:
E_utran_sec_vector();
E_utran_sec_vector( const E_UTRAN_sec_vector& secinfo_i );
~E_utran_sec_vector();
void operator = ( const E_utran_sec_vector& secinfo_i );
friend std::ostream& operator << ( std::ostream& os, const E_utran_sec_vector& data_i );
public:
E_UTRAN_sec_vector* AiaSecInfo_mp;
};
class Fteid
{
public:
Fteid();
Fteid( const fteid& fteid_i );
~Fteid();
void operator = ( const Fteid& fteid_i );
public:
fteid fteid_m;
};
class Paa
{
public:
Paa();
Paa( const PAA& paa_i );
~Paa();
void operator = ( const Paa& paa_i );
public:
PAA paa_m;
};
class Apn_name
{
public:
Apn_name();
Apn_name( const apn_name& apn_name_i );
~Apn_name();
void operator = ( const Apn_name& apn_name_i );
public:
apn_name apnname_m;
};
class DigitRegister15
{
public:
DigitRegister15();
void convertToBcdArray(uint8_t* arrayOut) const;
void convertFromBcdArray(const uint8_t* bcdArrayIn);
void setImsiDigits( uint8_t* digitsArrayIn );
void getImsiDigits( uint8_t* digitsArrayIn ) const;
bool isValid() const;
void operator = ( const DigitRegister15& data_i );
bool operator == ( const DigitRegister15& data_i )const;
bool operator < ( const DigitRegister15& data_i )const;
friend std::ostream& operator << ( std::ostream& os, const DigitRegister15& data_i );
private:
uint8_t digitsArray[15];
};
#endif