| /* |
| * 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 |