Commit 5720c168 authored by hogostan's avatar hogostan

initial ausf architecture

parents
cmake_minimum_required (VERSION 3.2)
project(api-server)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pg -g3" )
include(ExternalProject)
#set(EXTERNAL_INSTALL_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/external)
#ExternalProject_Add(PISTACHE
# GIT_REPOSITORY https://github.com/oktal/pistache.git
# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
#)
#ExternalProject_Add(NLOHMANN
# GIT_REPOSITORY https://github.com/nlohmann/json.git
# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
#)
#include_directories(${EXTERNAL_INSTALL_LOCATION}/include)
#link_directories(${EXTERNAL_INSTALL_LOCATION}/lib)
include_directories(model)
include_directories(api)
include_directories(impl)
file(GLOB SRCS
${CMAKE_CURRENT_SOURCE_DIR}/api/*.cpp
${CMAKE_CURRENT_SOURCE_DIR}/impl/*.cpp
${CMAKE_CURRENT_SOURCE_DIR}/model/*.cpp
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
add_executable(${PROJECT_NAME} ${SRCS} )
#add_dependencies(${PROJECT_NAME} PISTACHE NLOHMANN)
target_link_libraries(${PROJECT_NAME} pistache pthread)
# REST API Server for AUSF API
## Overview
This API Server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
It uses the [Pistache](https://github.com/oktal/pistache) Framework.
## Files organization
The Pistache C++ REST server generator creates three folders:
- `api`: This folder contains the handlers for each method specified in the OpenAPI definition. Every handler extracts
the path and body parameters (if any) from the requests and tries to parse and possibly validate them.
Once this step is completed, the main API class calls the corresponding abstract method that should be implemented
by the developer (a basic implementation is provided under the `impl` folder)
- `impl`: As written above, the implementation folder contains, for each API, the corresponding implementation class,
which extends the main API class and implements the abstract methods.
Every method receives the path and body parameters as constant reference variables and a reference to the response
object, that should be filled with the right response and sent at the end of the method with the command:
response.send(returnCode, responseBody, [mimeType])
- `model`: This folder contains the corresponding class for every object schema found in the OpenAPI specification.
The main folder contains also a file with a main that can be used to start the server.
Of course, is you should customize this file based on your needs
## Installation
First of all, you need to download and install the libraries listed [here](#libraries-required).
Once the libraries are installed, in order to compile and run the server please follow the steps below:
```bash
mkdir build
cd build
cmake ..
make
```
Once compiled run the server:
```bash
cd build
./api-server
```
## Libraries required
- [pistache](http://pistache.io/quickstart)
- [JSON for Modern C++](https://github.com/nlohmann/json/#integration): Please download the `json.hpp` file and
put it under the model/nlohmann folder
## Namespaces
org.openapitools.server.api
org.openapitools.server.model
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AuthenticationResultDeletionApi.h"
#include "Helpers.h"
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace org::openapitools::server::model;
AuthenticationResultDeletionApi::AuthenticationResultDeletionApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void AuthenticationResultDeletionApi::init() {
setupRoutes();
}
void AuthenticationResultDeletionApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Delete(*router, base + "/ue-authentications/:authCtxId/5g-aka-confirmation", Routes::bind(&AuthenticationResultDeletionApi::delete5g_aka_authentication_result_handler, this));
Routes::Delete(*router, base + "/ue-authentications/:authCtxId/eap-session", Routes::bind(&AuthenticationResultDeletionApi::delete_eap_authentication_result_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&AuthenticationResultDeletionApi::authentication_result_deletion_api_default_handler, this));
}
void AuthenticationResultDeletionApi::delete5g_aka_authentication_result_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto authCtxId = request.param(":authCtxId").as<std::string>();
try {
this->delete5g_aka_authentication_result(authCtxId, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void AuthenticationResultDeletionApi::delete_eap_authentication_result_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto authCtxId = request.param(":authCtxId").as<std::string>();
try {
this->delete_eap_authentication_result(authCtxId, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void AuthenticationResultDeletionApi::authentication_result_deletion_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AuthenticationResultDeletionApi.h
*
*
*/
#ifndef AuthenticationResultDeletionApi_H_
#define AuthenticationResultDeletionApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include <string>
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::model;
class AuthenticationResultDeletionApi {
public:
AuthenticationResultDeletionApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~AuthenticationResultDeletionApi() {}
void init();
const std::string base = "/nausf-auth/v1";
private:
void setupRoutes();
void delete5g_aka_authentication_result_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void delete_eap_authentication_result_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void authentication_result_deletion_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
/// Deletes the authentication result in the UDM
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="authCtxId"></param>
virtual void delete5g_aka_authentication_result(const std::string &authCtxId, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Deletes the authentication result in the UDM
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="authCtxId"></param>
virtual void delete_eap_authentication_result(const std::string &authCtxId, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
}
#endif /* AuthenticationResultDeletionApi_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "DefaultApi.h"
#include "Helpers.h"
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace org::openapitools::server::model;
DefaultApi::DefaultApi(std::shared_ptr<Pistache::Rest::Router> rtr) {
router = rtr;
}
void DefaultApi::init() {
setupRoutes();
}
void DefaultApi::setupRoutes() {
using namespace Pistache::Rest;
Routes::Post(*router, base + "/ue-authentications/:authCtxId/eap-session", Routes::bind(&DefaultApi::eap_auth_method_handler, this));
Routes::Post(*router, base + "/rg-authentications", Routes::bind(&DefaultApi::rg_authentications_post_handler, this));
Routes::Put(*router, base + "/ue-authentications/:authCtxId/5g-aka-confirmation", Routes::bind(&DefaultApi::ue_authentications_auth_ctx_id5g_aka_confirmation_put_handler, this));
Routes::Post(*router, base + "/ue-authentications/deregister", Routes::bind(&DefaultApi::ue_authentications_deregister_post_handler, this));
Routes::Post(*router, base + "/ue-authentications", Routes::bind(&DefaultApi::ue_authentications_post_handler, this));
// Default handler, called when a route is not found
router->addCustomHandler(Routes::bind(&DefaultApi::default_api_default_handler, this));
}
void DefaultApi::eap_auth_method_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto authCtxId = request.param(":authCtxId").as<std::string>();
// Getting the body param
EapSession eapSession;
try {
nlohmann::json::parse(request.body()).get_to(eapSession);
this->eap_auth_method(authCtxId, eapSession, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void DefaultApi::rg_authentications_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the body param
RgAuthenticationInfo rgAuthenticationInfo;
try {
nlohmann::json::parse(request.body()).get_to(rgAuthenticationInfo);
this->rg_authentications_post(rgAuthenticationInfo, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void DefaultApi::ue_authentications_auth_ctx_id5g_aka_confirmation_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the path params
auto authCtxId = request.param(":authCtxId").as<std::string>();
// Getting the body param
ConfirmationData confirmationData;
try {
nlohmann::json::parse(request.body()).get_to(confirmationData);
this->ue_authentications_auth_ctx_id5g_aka_confirmation_put(authCtxId, confirmationData, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void DefaultApi::ue_authentications_deregister_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the body param
DeregistrationInfo deregistrationInfo;
try {
nlohmann::json::parse(request.body()).get_to(deregistrationInfo);
this->ue_authentications_deregister_post(deregistrationInfo, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void DefaultApi::ue_authentications_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the body param
AuthenticationInfo authenticationInfo;
try {
nlohmann::json::parse(request.body()).get_to(authenticationInfo);
this->ue_authentications_post(authenticationInfo, response);
} catch (nlohmann::detail::exception &e) {
//send a 400 error
response.send(Pistache::Http::Code::Bad_Request, e.what());
return;
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
} catch (std::exception &e) {
//send a 500 error
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
return;
}
}
void DefaultApi::default_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist");
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* DefaultApi.h
*
*
*/
#ifndef DefaultApi_H_
#define DefaultApi_H_
#include <pistache/http.h>
#include <pistache/router.h>
#include <pistache/http_headers.h>
#include <pistache/optional.h>
#include "AuthenticationInfo.h"
#include "ConfirmationData.h"
#include "ConfirmationDataResponse.h"
#include "DeregistrationInfo.h"
#include "EapSession.h"
#include "ProblemDetails.h"
#include "RgAuthCtx.h"
#include "RgAuthenticationInfo.h"
#include "UEAuthenticationCtx.h"
#include <string>
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::model;
class DefaultApi {
public:
DefaultApi(std::shared_ptr<Pistache::Rest::Router>);
virtual ~DefaultApi() {}
void init();
const std::string base = "/nausf-auth/v1";
private:
void setupRoutes();
void eap_auth_method_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void rg_authentications_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void ue_authentications_auth_ctx_id5g_aka_confirmation_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void ue_authentications_deregister_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void ue_authentications_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void default_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
std::shared_ptr<Pistache::Rest::Router> router;
/// <summary>
///
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="authCtxId"></param>
/// <param name="eapSession"> (optional)</param>
virtual void eap_auth_method(const std::string &authCtxId, const EapSession &eapSession, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
///
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="rgAuthenticationInfo"></param>
virtual void rg_authentications_post(const RgAuthenticationInfo &rgAuthenticationInfo, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
///
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="authCtxId"></param>
/// <param name="confirmationData"> (optional)</param>
virtual void ue_authentications_auth_ctx_id5g_aka_confirmation_put(const std::string &authCtxId, const ConfirmationData &confirmationData, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
///
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="deregistrationInfo"></param>
virtual void ue_authentications_deregister_post(const DeregistrationInfo &deregistrationInfo, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
///
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="authenticationInfo"></param>
virtual void ue_authentications_post(const AuthenticationInfo &authenticationInfo, Pistache::Http::ResponseWriter &response) = 0;
};
}
}
}
}
#endif /* DefaultApi_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AuthenticationResultDeletionApiImpl.h"
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::model;
AuthenticationResultDeletionApiImpl::AuthenticationResultDeletionApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: AuthenticationResultDeletionApi(rtr)
{ }
void AuthenticationResultDeletionApiImpl::delete5g_aka_authentication_result(const std::string &authCtxId, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
void AuthenticationResultDeletionApiImpl::delete_eap_authentication_result(const std::string &authCtxId, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AuthenticationResultDeletionApiImpl.h
*
*
*/
#ifndef AUTHENTICATION_RESULT_DELETION_API_IMPL_H_
#define AUTHENTICATION_RESULT_DELETION_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <AuthenticationResultDeletionApi.h>
#include <pistache/optional.h>
#include "ProblemDetails.h"
#include <string>
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::model;
class AuthenticationResultDeletionApiImpl : public org::openapitools::server::api::AuthenticationResultDeletionApi {
public:
AuthenticationResultDeletionApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~AuthenticationResultDeletionApiImpl() {}
void delete5g_aka_authentication_result(const std::string &authCtxId, Pistache::Http::ResponseWriter &response);
void delete_eap_authentication_result(const std::string &authCtxId, Pistache::Http::ResponseWriter &response);
};
}
}
}
}
#endif
\ No newline at end of file
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "DefaultApiImpl.h"
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::model;
DefaultApiImpl::DefaultApiImpl(std::shared_ptr<Pistache::Rest::Router> rtr)
: DefaultApi(rtr)
{ }
void DefaultApiImpl::eap_auth_method(const std::string &authCtxId, const EapSession &eapSession, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
void DefaultApiImpl::rg_authentications_post(const RgAuthenticationInfo &rgAuthenticationInfo, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
void DefaultApiImpl::ue_authentications_auth_ctx_id5g_aka_confirmation_put(const std::string &authCtxId, const ConfirmationData &confirmationData, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
void DefaultApiImpl::ue_authentications_deregister_post(const DeregistrationInfo &deregistrationInfo, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
void DefaultApiImpl::ue_authentications_post(const AuthenticationInfo &authenticationInfo, Pistache::Http::ResponseWriter &response) {
response.send(Pistache::Http::Code::Ok, "Do some magic\n");
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* DefaultApiImpl.h
*
*
*/
#ifndef DEFAULT_API_IMPL_H_
#define DEFAULT_API_IMPL_H_
#include <pistache/endpoint.h>
#include <pistache/http.h>
#include <pistache/router.h>
#include <memory>
#include <DefaultApi.h>
#include <pistache/optional.h>
#include "AuthenticationInfo.h"
#include "ConfirmationData.h"
#include "ConfirmationDataResponse.h"
#include "DeregistrationInfo.h"
#include "EapSession.h"
#include "ProblemDetails.h"
#include "RgAuthCtx.h"
#include "RgAuthenticationInfo.h"
#include "UEAuthenticationCtx.h"
#include <string>
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::model;
class DefaultApiImpl : public org::openapitools::server::api::DefaultApi {
public:
DefaultApiImpl(std::shared_ptr<Pistache::Rest::Router>);
~DefaultApiImpl() {}
void eap_auth_method(const std::string &authCtxId, const EapSession &eapSession, Pistache::Http::ResponseWriter &response);
void rg_authentications_post(const RgAuthenticationInfo &rgAuthenticationInfo, Pistache::Http::ResponseWriter &response);
void ue_authentications_auth_ctx_id5g_aka_confirmation_put(const std::string &authCtxId, const ConfirmationData &confirmationData, Pistache::Http::ResponseWriter &response);
void ue_authentications_deregister_post(const DeregistrationInfo &deregistrationInfo, Pistache::Http::ResponseWriter &response);
void ue_authentications_post(const AuthenticationInfo &authenticationInfo, Pistache::Http::ResponseWriter &response);
};
}
}
}
}
#endif
\ No newline at end of file
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "pistache/endpoint.h"
#include "pistache/http.h"
#include "pistache/router.h"
#ifdef __linux__
#include <vector>
#include <signal.h>
#include <unistd.h>
#endif
#include "AuthenticationResultDeletionApiImpl.h"
#include "DefaultApiImpl.h"
#define PISTACHE_SERVER_THREADS 2
#define PISTACHE_SERVER_MAX_REQUEST_SIZE 32768
#define PISTACHE_SERVER_MAX_RESPONSE_SIZE 32768
static Pistache::Http::Endpoint *httpEndpoint;
#ifdef __linux__
static void sigHandler [[noreturn]] (int sig){
switch(sig){
case SIGINT:
case SIGQUIT:
case SIGTERM:
case SIGHUP:
default:
httpEndpoint->shutdown();
break;
}
exit(0);
}
static void setUpUnixSignals(std::vector<int> quitSignals) {
sigset_t blocking_mask;
sigemptyset(&blocking_mask);
for (auto sig : quitSignals)
sigaddset(&blocking_mask, sig);
struct sigaction sa;
sa.sa_handler = sigHandler;
sa.sa_mask = blocking_mask;
sa.sa_flags = 0;
for (auto sig : quitSignals)
sigaction(sig, &sa, nullptr);
}
#endif
using namespace org::openapitools::server::api;
int main() {
#ifdef __linux__
std::vector<int> sigs{SIGQUIT, SIGINT, SIGTERM, SIGHUP};
setUpUnixSignals(sigs);
#endif
Pistache::Address addr(Pistache::Ipv4::any(), Pistache::Port(8080));
httpEndpoint = new Pistache::Http::Endpoint((addr));
auto router = std::make_shared<Pistache::Rest::Router>();
auto opts = Pistache::Http::Endpoint::options()
.threads(PISTACHE_SERVER_THREADS);
opts.flags(Pistache::Tcp::Options::ReuseAddr);
opts.maxRequestSize(PISTACHE_SERVER_MAX_REQUEST_SIZE);
opts.maxResponseSize(PISTACHE_SERVER_MAX_RESPONSE_SIZE);
httpEndpoint->init(opts);
AuthenticationResultDeletionApiImpl AuthenticationResultDeletionApiserver(router);
AuthenticationResultDeletionApiserver.init();
DefaultApiImpl DefaultApiserver(router);
DefaultApiserver.init();
httpEndpoint->setHandler(router->handler());
httpEndpoint->serve();
httpEndpoint->shutdown();
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AuthResult.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
AuthResult::AuthResult()
{
}
AuthResult::~AuthResult()
{
}
void AuthResult::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const AuthResult& o)
{
j = nlohmann::json();
}
void from_json(const nlohmann::json& j, AuthResult& o)
{
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AuthResult.h
*
*
*/
#ifndef AuthResult_H_
#define AuthResult_H_
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class AuthResult
{
public:
AuthResult();
virtual ~AuthResult();
void validate();
/////////////////////////////////////////////
/// AuthResult members
friend void to_json(nlohmann::json& j, const AuthResult& o);
friend void from_json(const nlohmann::json& j, AuthResult& o);
protected:
};
}
}
}
}
#endif /* AuthResult_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AuthType.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
AuthType::AuthType()
{
}
AuthType::~AuthType()
{
}
void AuthType::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const AuthType& o)
{
j = nlohmann::json();
}
void from_json(const nlohmann::json& j, AuthType& o)
{
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AuthType.h
*
*
*/
#ifndef AuthType_H_
#define AuthType_H_
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class AuthType
{
public:
AuthType();
virtual ~AuthType();
void validate();
/////////////////////////////////////////////
/// AuthType members
friend void to_json(nlohmann::json& j, const AuthType& o);
friend void from_json(const nlohmann::json& j, AuthType& o);
protected:
};
}
}
}
}
#endif /* AuthType_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "AuthenticationInfo.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
AuthenticationInfo::AuthenticationInfo()
{
m_SupiOrSuci = "";
m_ServingNetworkName = "";
m_ResynchronizationInfoIsSet = false;
m_Pei = "";
m_PeiIsSet = false;
m_TraceDataIsSet = false;
m_UdmGroupId = "";
m_UdmGroupIdIsSet = false;
m_RoutingIndicator = "";
m_RoutingIndicatorIsSet = false;
m_CellCagInfoIsSet = false;
m_N5gcInd = false;
m_N5gcIndIsSet = false;
}
AuthenticationInfo::~AuthenticationInfo()
{
}
void AuthenticationInfo::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const AuthenticationInfo& o)
{
j = nlohmann::json();
j["supiOrSuci"] = o.m_SupiOrSuci;
j["servingNetworkName"] = o.m_ServingNetworkName;
if(o.resynchronizationInfoIsSet())
j["resynchronizationInfo"] = o.m_ResynchronizationInfo;
if(o.peiIsSet())
j["pei"] = o.m_Pei;
if(o.traceDataIsSet())
j["traceData"] = o.m_TraceData;
if(o.udmGroupIdIsSet())
j["udmGroupId"] = o.m_UdmGroupId;
if(o.routingIndicatorIsSet())
j["routingIndicator"] = o.m_RoutingIndicator;
if(o.cellCagInfoIsSet() || !o.m_CellCagInfo.empty())
j["cellCagInfo"] = o.m_CellCagInfo;
if(o.n5gcIndIsSet())
j["n5gcInd"] = o.m_N5gcInd;
}
void from_json(const nlohmann::json& j, AuthenticationInfo& o)
{
j.at("supiOrSuci").get_to(o.m_SupiOrSuci);
j.at("servingNetworkName").get_to(o.m_ServingNetworkName);
if(j.find("resynchronizationInfo") != j.end())
{
j.at("resynchronizationInfo").get_to(o.m_ResynchronizationInfo);
o.m_ResynchronizationInfoIsSet = true;
}
if(j.find("pei") != j.end())
{
j.at("pei").get_to(o.m_Pei);
o.m_PeiIsSet = true;
}
if(j.find("traceData") != j.end())
{
j.at("traceData").get_to(o.m_TraceData);
o.m_TraceDataIsSet = true;
}
if(j.find("udmGroupId") != j.end())
{
j.at("udmGroupId").get_to(o.m_UdmGroupId);
o.m_UdmGroupIdIsSet = true;
}
if(j.find("routingIndicator") != j.end())
{
j.at("routingIndicator").get_to(o.m_RoutingIndicator);
o.m_RoutingIndicatorIsSet = true;
}
if(j.find("cellCagInfo") != j.end())
{
j.at("cellCagInfo").get_to(o.m_CellCagInfo);
o.m_CellCagInfoIsSet = true;
}
if(j.find("n5gcInd") != j.end())
{
j.at("n5gcInd").get_to(o.m_N5gcInd);
o.m_N5gcIndIsSet = true;
}
}
std::string AuthenticationInfo::getSupiOrSuci() const
{
return m_SupiOrSuci;
}
void AuthenticationInfo::setSupiOrSuci(std::string const& value)
{
m_SupiOrSuci = value;
}
std::string AuthenticationInfo::getServingNetworkName() const
{
return m_ServingNetworkName;
}
void AuthenticationInfo::setServingNetworkName(std::string const& value)
{
m_ServingNetworkName = value;
}
ResynchronizationInfo AuthenticationInfo::getResynchronizationInfo() const
{
return m_ResynchronizationInfo;
}
void AuthenticationInfo::setResynchronizationInfo(ResynchronizationInfo const& value)
{
m_ResynchronizationInfo = value;
m_ResynchronizationInfoIsSet = true;
}
bool AuthenticationInfo::resynchronizationInfoIsSet() const
{
return m_ResynchronizationInfoIsSet;
}
void AuthenticationInfo::unsetResynchronizationInfo()
{
m_ResynchronizationInfoIsSet = false;
}
std::string AuthenticationInfo::getPei() const
{
return m_Pei;
}
void AuthenticationInfo::setPei(std::string const& value)
{
m_Pei = value;
m_PeiIsSet = true;
}
bool AuthenticationInfo::peiIsSet() const
{
return m_PeiIsSet;
}
void AuthenticationInfo::unsetPei()
{
m_PeiIsSet = false;
}
TraceData AuthenticationInfo::getTraceData() const
{
return m_TraceData;
}
void AuthenticationInfo::setTraceData(TraceData const& value)
{
m_TraceData = value;
m_TraceDataIsSet = true;
}
bool AuthenticationInfo::traceDataIsSet() const
{
return m_TraceDataIsSet;
}
void AuthenticationInfo::unsetTraceData()
{
m_TraceDataIsSet = false;
}
std::string AuthenticationInfo::getUdmGroupId() const
{
return m_UdmGroupId;
}
void AuthenticationInfo::setUdmGroupId(std::string const& value)
{
m_UdmGroupId = value;
m_UdmGroupIdIsSet = true;
}
bool AuthenticationInfo::udmGroupIdIsSet() const
{
return m_UdmGroupIdIsSet;
}
void AuthenticationInfo::unsetUdmGroupId()
{
m_UdmGroupIdIsSet = false;
}
std::string AuthenticationInfo::getRoutingIndicator() const
{
return m_RoutingIndicator;
}
void AuthenticationInfo::setRoutingIndicator(std::string const& value)
{
m_RoutingIndicator = value;
m_RoutingIndicatorIsSet = true;
}
bool AuthenticationInfo::routingIndicatorIsSet() const
{
return m_RoutingIndicatorIsSet;
}
void AuthenticationInfo::unsetRoutingIndicator()
{
m_RoutingIndicatorIsSet = false;
}
std::vector<std::string>& AuthenticationInfo::getCellCagInfo()
{
return m_CellCagInfo;
}
void AuthenticationInfo::setCellCagInfo(std::vector<std::string> const& value)
{
m_CellCagInfo = value;
m_CellCagInfoIsSet = true;
}
bool AuthenticationInfo::cellCagInfoIsSet() const
{
return m_CellCagInfoIsSet;
}
void AuthenticationInfo::unsetCellCagInfo()
{
m_CellCagInfoIsSet = false;
}
bool AuthenticationInfo::isN5gcInd() const
{
return m_N5gcInd;
}
void AuthenticationInfo::setN5gcInd(bool const value)
{
m_N5gcInd = value;
m_N5gcIndIsSet = true;
}
bool AuthenticationInfo::n5gcIndIsSet() const
{
return m_N5gcIndIsSet;
}
void AuthenticationInfo::unsetN5gcInd()
{
m_N5gcIndIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* AuthenticationInfo.h
*
*
*/
#ifndef AuthenticationInfo_H_
#define AuthenticationInfo_H_
#include <string>
#include "ResynchronizationInfo.h"
#include "TraceData.h"
#include <vector>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class AuthenticationInfo
{
public:
AuthenticationInfo();
virtual ~AuthenticationInfo();
void validate();
/////////////////////////////////////////////
/// AuthenticationInfo members
/// <summary>
///
/// </summary>
std::string getSupiOrSuci() const;
void setSupiOrSuci(std::string const& value);
/// <summary>
///
/// </summary>
std::string getServingNetworkName() const;
void setServingNetworkName(std::string const& value);
/// <summary>
///
/// </summary>
ResynchronizationInfo getResynchronizationInfo() const;
void setResynchronizationInfo(ResynchronizationInfo const& value);
bool resynchronizationInfoIsSet() const;
void unsetResynchronizationInfo();
/// <summary>
///
/// </summary>
std::string getPei() const;
void setPei(std::string const& value);
bool peiIsSet() const;
void unsetPei();
/// <summary>
///
/// </summary>
TraceData getTraceData() const;
void setTraceData(TraceData const& value);
bool traceDataIsSet() const;
void unsetTraceData();
/// <summary>
///
/// </summary>
std::string getUdmGroupId() const;
void setUdmGroupId(std::string const& value);
bool udmGroupIdIsSet() const;
void unsetUdmGroupId();
/// <summary>
///
/// </summary>
std::string getRoutingIndicator() const;
void setRoutingIndicator(std::string const& value);
bool routingIndicatorIsSet() const;
void unsetRoutingIndicator();
/// <summary>
///
/// </summary>
std::vector<std::string>& getCellCagInfo();
void setCellCagInfo(std::vector<std::string> const& value);
bool cellCagInfoIsSet() const;
void unsetCellCagInfo();
/// <summary>
///
/// </summary>
bool isN5gcInd() const;
void setN5gcInd(bool const value);
bool n5gcIndIsSet() const;
void unsetN5gcInd();
friend void to_json(nlohmann::json& j, const AuthenticationInfo& o);
friend void from_json(const nlohmann::json& j, AuthenticationInfo& o);
protected:
std::string m_SupiOrSuci;
std::string m_ServingNetworkName;
ResynchronizationInfo m_ResynchronizationInfo;
bool m_ResynchronizationInfoIsSet;
std::string m_Pei;
bool m_PeiIsSet;
TraceData m_TraceData;
bool m_TraceDataIsSet;
std::string m_UdmGroupId;
bool m_UdmGroupIdIsSet;
std::string m_RoutingIndicator;
bool m_RoutingIndicatorIsSet;
std::vector<std::string> m_CellCagInfo;
bool m_CellCagInfoIsSet;
bool m_N5gcInd;
bool m_N5gcIndIsSet;
};
}
}
}
}
#endif /* AuthenticationInfo_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "Av5gAka.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
Av5gAka::Av5gAka()
{
m_Rand = "";
m_HxresStar = "";
m_Autn = "";
}
Av5gAka::~Av5gAka()
{
}
void Av5gAka::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const Av5gAka& o)
{
j = nlohmann::json();
j["rand"] = o.m_Rand;
j["hxresStar"] = o.m_HxresStar;
j["autn"] = o.m_Autn;
}
void from_json(const nlohmann::json& j, Av5gAka& o)
{
j.at("rand").get_to(o.m_Rand);
j.at("hxresStar").get_to(o.m_HxresStar);
j.at("autn").get_to(o.m_Autn);
}
std::string Av5gAka::getRand() const
{
return m_Rand;
}
void Av5gAka::setRand(std::string const& value)
{
m_Rand = value;
}
std::string Av5gAka::getHxresStar() const
{
return m_HxresStar;
}
void Av5gAka::setHxresStar(std::string const& value)
{
m_HxresStar = value;
}
std::string Av5gAka::getAutn() const
{
return m_Autn;
}
void Av5gAka::setAutn(std::string const& value)
{
m_Autn = value;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* Av5gAka.h
*
*
*/
#ifndef Av5gAka_H_
#define Av5gAka_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class Av5gAka
{
public:
Av5gAka();
virtual ~Av5gAka();
void validate();
/////////////////////////////////////////////
/// Av5gAka members
/// <summary>
///
/// </summary>
std::string getRand() const;
void setRand(std::string const& value);
/// <summary>
///
/// </summary>
std::string getHxresStar() const;
void setHxresStar(std::string const& value);
/// <summary>
///
/// </summary>
std::string getAutn() const;
void setAutn(std::string const& value);
friend void to_json(nlohmann::json& j, const Av5gAka& o);
friend void from_json(const nlohmann::json& j, Av5gAka& o);
protected:
std::string m_Rand;
std::string m_HxresStar;
std::string m_Autn;
};
}
}
}
}
#endif /* Av5gAka_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ConfirmationData.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
ConfirmationData::ConfirmationData()
{
m_ResStar = "";
}
ConfirmationData::~ConfirmationData()
{
}
void ConfirmationData::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const ConfirmationData& o)
{
j = nlohmann::json();
j["resStar"] = o.m_ResStar;
}
void from_json(const nlohmann::json& j, ConfirmationData& o)
{
j.at("resStar").get_to(o.m_ResStar);
}
std::string ConfirmationData::getResStar() const
{
return m_ResStar;
}
void ConfirmationData::setResStar(std::string const& value)
{
m_ResStar = value;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ConfirmationData.h
*
*
*/
#ifndef ConfirmationData_H_
#define ConfirmationData_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class ConfirmationData
{
public:
ConfirmationData();
virtual ~ConfirmationData();
void validate();
/////////////////////////////////////////////
/// ConfirmationData members
/// <summary>
///
/// </summary>
std::string getResStar() const;
void setResStar(std::string const& value);
friend void to_json(nlohmann::json& j, const ConfirmationData& o);
friend void from_json(const nlohmann::json& j, ConfirmationData& o);
protected:
std::string m_ResStar;
};
}
}
}
}
#endif /* ConfirmationData_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ConfirmationDataResponse.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
ConfirmationDataResponse::ConfirmationDataResponse()
{
m_Supi = "";
m_SupiIsSet = false;
m_Kseaf = "";
m_KseafIsSet = false;
}
ConfirmationDataResponse::~ConfirmationDataResponse()
{
}
void ConfirmationDataResponse::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const ConfirmationDataResponse& o)
{
j = nlohmann::json();
j["authResult"] = o.m_AuthResult;
if(o.supiIsSet())
j["supi"] = o.m_Supi;
if(o.kseafIsSet())
j["kseaf"] = o.m_Kseaf;
}
void from_json(const nlohmann::json& j, ConfirmationDataResponse& o)
{
j.at("authResult").get_to(o.m_AuthResult);
if(j.find("supi") != j.end())
{
j.at("supi").get_to(o.m_Supi);
o.m_SupiIsSet = true;
}
if(j.find("kseaf") != j.end())
{
j.at("kseaf").get_to(o.m_Kseaf);
o.m_KseafIsSet = true;
}
}
AuthResult ConfirmationDataResponse::getAuthResult() const
{
return m_AuthResult;
}
void ConfirmationDataResponse::setAuthResult(AuthResult const& value)
{
m_AuthResult = value;
}
std::string ConfirmationDataResponse::getSupi() const
{
return m_Supi;
}
void ConfirmationDataResponse::setSupi(std::string const& value)
{
m_Supi = value;
m_SupiIsSet = true;
}
bool ConfirmationDataResponse::supiIsSet() const
{
return m_SupiIsSet;
}
void ConfirmationDataResponse::unsetSupi()
{
m_SupiIsSet = false;
}
std::string ConfirmationDataResponse::getKseaf() const
{
return m_Kseaf;
}
void ConfirmationDataResponse::setKseaf(std::string const& value)
{
m_Kseaf = value;
m_KseafIsSet = true;
}
bool ConfirmationDataResponse::kseafIsSet() const
{
return m_KseafIsSet;
}
void ConfirmationDataResponse::unsetKseaf()
{
m_KseafIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ConfirmationDataResponse.h
*
*
*/
#ifndef ConfirmationDataResponse_H_
#define ConfirmationDataResponse_H_
#include <string>
#include "AuthResult.h"
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class ConfirmationDataResponse
{
public:
ConfirmationDataResponse();
virtual ~ConfirmationDataResponse();
void validate();
/////////////////////////////////////////////
/// ConfirmationDataResponse members
/// <summary>
///
/// </summary>
AuthResult getAuthResult() const;
void setAuthResult(AuthResult const& value);
/// <summary>
///
/// </summary>
std::string getSupi() const;
void setSupi(std::string const& value);
bool supiIsSet() const;
void unsetSupi();
/// <summary>
///
/// </summary>
std::string getKseaf() const;
void setKseaf(std::string const& value);
bool kseafIsSet() const;
void unsetKseaf();
friend void to_json(nlohmann::json& j, const ConfirmationDataResponse& o);
friend void from_json(const nlohmann::json& j, ConfirmationDataResponse& o);
protected:
AuthResult m_AuthResult;
std::string m_Supi;
bool m_SupiIsSet;
std::string m_Kseaf;
bool m_KseafIsSet;
};
}
}
}
}
#endif /* ConfirmationDataResponse_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "DeregistrationInfo.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
DeregistrationInfo::DeregistrationInfo()
{
m_Supi = "";
}
DeregistrationInfo::~DeregistrationInfo()
{
}
void DeregistrationInfo::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const DeregistrationInfo& o)
{
j = nlohmann::json();
j["supi"] = o.m_Supi;
}
void from_json(const nlohmann::json& j, DeregistrationInfo& o)
{
j.at("supi").get_to(o.m_Supi);
}
std::string DeregistrationInfo::getSupi() const
{
return m_Supi;
}
void DeregistrationInfo::setSupi(std::string const& value)
{
m_Supi = value;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* DeregistrationInfo.h
*
*
*/
#ifndef DeregistrationInfo_H_
#define DeregistrationInfo_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class DeregistrationInfo
{
public:
DeregistrationInfo();
virtual ~DeregistrationInfo();
void validate();
/////////////////////////////////////////////
/// DeregistrationInfo members
/// <summary>
///
/// </summary>
std::string getSupi() const;
void setSupi(std::string const& value);
friend void to_json(nlohmann::json& j, const DeregistrationInfo& o);
friend void from_json(const nlohmann::json& j, DeregistrationInfo& o);
protected:
std::string m_Supi;
};
}
}
}
}
#endif /* DeregistrationInfo_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "EapSession.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
EapSession::EapSession()
{
m_EapPayload = "";
m_KSeaf = "";
m_KSeafIsSet = false;
m__linksIsSet = false;
m_AuthResultIsSet = false;
m_Supi = "";
m_SupiIsSet = false;
}
EapSession::~EapSession()
{
}
void EapSession::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const EapSession& o)
{
j = nlohmann::json();
j["eapPayload"] = o.m_EapPayload;
if(o.kSeafIsSet())
j["kSeaf"] = o.m_KSeaf;
if(o.linksIsSet() || !o.m__links.empty())
j["_links"] = o.m__links;
if(o.authResultIsSet())
j["authResult"] = o.m_AuthResult;
if(o.supiIsSet())
j["supi"] = o.m_Supi;
}
void from_json(const nlohmann::json& j, EapSession& o)
{
j.at("eapPayload").get_to(o.m_EapPayload);
if(j.find("kSeaf") != j.end())
{
j.at("kSeaf").get_to(o.m_KSeaf);
o.m_KSeafIsSet = true;
}
if(j.find("_links") != j.end())
{
j.at("_links").get_to(o.m__links);
o.m__linksIsSet = true;
}
if(j.find("authResult") != j.end())
{
j.at("authResult").get_to(o.m_AuthResult);
o.m_AuthResultIsSet = true;
}
if(j.find("supi") != j.end())
{
j.at("supi").get_to(o.m_Supi);
o.m_SupiIsSet = true;
}
}
std::string EapSession::getEapPayload() const
{
return m_EapPayload;
}
void EapSession::setEapPayload(std::string const& value)
{
m_EapPayload = value;
}
std::string EapSession::getKSeaf() const
{
return m_KSeaf;
}
void EapSession::setKSeaf(std::string const& value)
{
m_KSeaf = value;
m_KSeafIsSet = true;
}
bool EapSession::kSeafIsSet() const
{
return m_KSeafIsSet;
}
void EapSession::unsetKSeaf()
{
m_KSeafIsSet = false;
}
std::map<std::string, LinksValueSchema>& EapSession::getLinks()
{
return m__links;
}
void EapSession::setLinks(std::map<std::string, LinksValueSchema> const& value)
{
m__links = value;
m__linksIsSet = true;
}
bool EapSession::linksIsSet() const
{
return m__linksIsSet;
}
void EapSession::unset_links()
{
m__linksIsSet = false;
}
AuthResult EapSession::getAuthResult() const
{
return m_AuthResult;
}
void EapSession::setAuthResult(AuthResult const& value)
{
m_AuthResult = value;
m_AuthResultIsSet = true;
}
bool EapSession::authResultIsSet() const
{
return m_AuthResultIsSet;
}
void EapSession::unsetAuthResult()
{
m_AuthResultIsSet = false;
}
std::string EapSession::getSupi() const
{
return m_Supi;
}
void EapSession::setSupi(std::string const& value)
{
m_Supi = value;
m_SupiIsSet = true;
}
bool EapSession::supiIsSet() const
{
return m_SupiIsSet;
}
void EapSession::unsetSupi()
{
m_SupiIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* EapSession.h
*
*
*/
#ifndef EapSession_H_
#define EapSession_H_
#include "LinksValueSchema.h"
#include <string>
#include <map>
#include "AuthResult.h"
#include <vector>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class EapSession
{
public:
EapSession();
virtual ~EapSession();
void validate();
/////////////////////////////////////////////
/// EapSession members
/// <summary>
/// contains an EAP packet
/// </summary>
std::string getEapPayload() const;
void setEapPayload(std::string const& value);
/// <summary>
///
/// </summary>
std::string getKSeaf() const;
void setKSeaf(std::string const& value);
bool kSeafIsSet() const;
void unsetKSeaf();
/// <summary>
///
/// </summary>
std::map<std::string, LinksValueSchema>& getLinks();
void setLinks(std::map<std::string, LinksValueSchema> const& value);
bool linksIsSet() const;
void unset_links();
/// <summary>
///
/// </summary>
AuthResult getAuthResult() const;
void setAuthResult(AuthResult const& value);
bool authResultIsSet() const;
void unsetAuthResult();
/// <summary>
///
/// </summary>
std::string getSupi() const;
void setSupi(std::string const& value);
bool supiIsSet() const;
void unsetSupi();
friend void to_json(nlohmann::json& j, const EapSession& o);
friend void from_json(const nlohmann::json& j, EapSession& o);
protected:
std::string m_EapPayload;
std::string m_KSeaf;
bool m_KSeafIsSet;
std::map<std::string, LinksValueSchema> m__links;
bool m__linksIsSet;
AuthResult m_AuthResult;
bool m_AuthResultIsSet;
std::string m_Supi;
bool m_SupiIsSet;
};
}
}
}
}
#endif /* EapSession_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "Helpers.h"
namespace org {
namespace openapitools {
namespace server {
namespace helpers {
std::string toStringValue(const std::string &value){
return std::string(value);
}
std::string toStringValue(const int32_t &value){
return std::to_string(value);
}
std::string toStringValue(const int64_t &value){
return std::to_string(value);
}
std::string toStringValue(const bool &value){
return value?std::string("true"):std::string("false");
}
std::string toStringValue(const float &value){
return std::to_string(value);
}
std::string toStringValue(const double &value){
return std::to_string(value);
}
bool fromStringValue(const std::string &inStr, std::string &value){
value = std::string(inStr);
return true;
}
bool fromStringValue(const std::string &inStr, int32_t &value){
try {
value = std::stoi( inStr );
}
catch (const std::invalid_argument&) {
return false;
}
return true;
}
bool fromStringValue(const std::string &inStr, int64_t &value){
try {
value = std::stol( inStr );
}
catch (const std::invalid_argument&) {
return false;
}
return true;
}
bool fromStringValue(const std::string &inStr, bool &value){
bool result = true;
inStr == "true"?value = true: inStr == "false"?value = false: result = false;
return result;
}
bool fromStringValue(const std::string &inStr, float &value){
try {
value = std::stof( inStr );
}
catch (const std::invalid_argument&) {
return false;
}
return true;
}
bool fromStringValue(const std::string &inStr, double &value){
try {
value = std::stod( inStr );
}
catch (const std::invalid_argument&) {
return false;
}
return true;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* Helpers.h
*
* This is the helper class for models and primitives
*/
#ifndef Helpers_H_
#define Helpers_H_
#include <ctime>
#include <string>
#include <sstream>
#include <vector>
#include <map>
namespace org {
namespace openapitools {
namespace server {
namespace helpers {
std::string toStringValue(const std::string &value);
std::string toStringValue(const int32_t &value);
std::string toStringValue(const int64_t &value);
std::string toStringValue(const bool &value);
std::string toStringValue(const float &value);
std::string toStringValue(const double &value);
bool fromStringValue(const std::string &inStr, std::string &value);
bool fromStringValue(const std::string &inStr, int32_t &value);
bool fromStringValue(const std::string &inStr, int64_t &value);
bool fromStringValue(const std::string &inStr, bool &value);
bool fromStringValue(const std::string &inStr, float &value);
bool fromStringValue(const std::string &inStr, double &value);
template<typename T>
bool fromStringValue(const std::vector<std::string> &inStr, std::vector<T> &value){
try{
for(auto & item : inStr){
T itemValue;
if(fromStringValue(item, itemValue)){
value.push_back(itemValue);
}
}
}
catch(...){
return false;
}
return value.size() > 0;
}
template<typename T>
bool fromStringValue(const std::string &inStr, std::vector<T> &value, char separator = ','){
std::vector<std::string> inStrings;
std::istringstream f(inStr);
std::string s;
while (std::getline(f, s, separator)) {
inStrings.push_back(s);
}
return fromStringValue(inStrings, value);
}
}
}
}
}
#endif // Helpers_H_
\ No newline at end of file
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "InvalidParam.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
InvalidParam::InvalidParam()
{
m_Param = "";
m_Reason = "";
m_ReasonIsSet = false;
}
InvalidParam::~InvalidParam()
{
}
void InvalidParam::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const InvalidParam& o)
{
j = nlohmann::json();
j["param"] = o.m_Param;
if(o.reasonIsSet())
j["reason"] = o.m_Reason;
}
void from_json(const nlohmann::json& j, InvalidParam& o)
{
j.at("param").get_to(o.m_Param);
if(j.find("reason") != j.end())
{
j.at("reason").get_to(o.m_Reason);
o.m_ReasonIsSet = true;
}
}
std::string InvalidParam::getParam() const
{
return m_Param;
}
void InvalidParam::setParam(std::string const& value)
{
m_Param = value;
}
std::string InvalidParam::getReason() const
{
return m_Reason;
}
void InvalidParam::setReason(std::string const& value)
{
m_Reason = value;
m_ReasonIsSet = true;
}
bool InvalidParam::reasonIsSet() const
{
return m_ReasonIsSet;
}
void InvalidParam::unsetReason()
{
m_ReasonIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* InvalidParam.h
*
*
*/
#ifndef InvalidParam_H_
#define InvalidParam_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class InvalidParam
{
public:
InvalidParam();
virtual ~InvalidParam();
void validate();
/////////////////////////////////////////////
/// InvalidParam members
/// <summary>
///
/// </summary>
std::string getParam() const;
void setParam(std::string const& value);
/// <summary>
///
/// </summary>
std::string getReason() const;
void setReason(std::string const& value);
bool reasonIsSet() const;
void unsetReason();
friend void to_json(nlohmann::json& j, const InvalidParam& o);
friend void from_json(const nlohmann::json& j, InvalidParam& o);
protected:
std::string m_Param;
std::string m_Reason;
bool m_ReasonIsSet;
};
}
}
}
}
#endif /* InvalidParam_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "Ipv6Addr.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
Ipv6Addr::Ipv6Addr()
{
}
Ipv6Addr::~Ipv6Addr()
{
}
void Ipv6Addr::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const Ipv6Addr& o)
{
j = nlohmann::json();
}
void from_json(const nlohmann::json& j, Ipv6Addr& o)
{
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* Ipv6Addr.h
*
*
*/
#ifndef Ipv6Addr_H_
#define Ipv6Addr_H_
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class Ipv6Addr
{
public:
Ipv6Addr();
virtual ~Ipv6Addr();
void validate();
/////////////////////////////////////////////
/// Ipv6Addr members
friend void to_json(nlohmann::json& j, const Ipv6Addr& o);
friend void from_json(const nlohmann::json& j, Ipv6Addr& o);
protected:
};
}
}
}
}
#endif /* Ipv6Addr_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "Link.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
Link::Link()
{
m_Href = "";
m_HrefIsSet = false;
}
Link::~Link()
{
}
void Link::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const Link& o)
{
j = nlohmann::json();
if(o.hrefIsSet())
j["href"] = o.m_Href;
}
void from_json(const nlohmann::json& j, Link& o)
{
if(j.find("href") != j.end())
{
j.at("href").get_to(o.m_Href);
o.m_HrefIsSet = true;
}
}
std::string Link::getHref() const
{
return m_Href;
}
void Link::setHref(std::string const& value)
{
m_Href = value;
m_HrefIsSet = true;
}
bool Link::hrefIsSet() const
{
return m_HrefIsSet;
}
void Link::unsetHref()
{
m_HrefIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* Link.h
*
*
*/
#ifndef Link_H_
#define Link_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class Link
{
public:
Link();
virtual ~Link();
void validate();
/////////////////////////////////////////////
/// Link members
/// <summary>
///
/// </summary>
std::string getHref() const;
void setHref(std::string const& value);
bool hrefIsSet() const;
void unsetHref();
friend void to_json(nlohmann::json& j, const Link& o);
friend void from_json(const nlohmann::json& j, Link& o);
protected:
std::string m_Href;
bool m_HrefIsSet;
};
}
}
}
}
#endif /* Link_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "LinksValueSchema.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
LinksValueSchema::LinksValueSchema()
{
m_Href = "";
m_HrefIsSet = false;
}
LinksValueSchema::~LinksValueSchema()
{
}
void LinksValueSchema::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const LinksValueSchema& o)
{
j = nlohmann::json();
if(o.hrefIsSet())
j["href"] = o.m_Href;
}
void from_json(const nlohmann::json& j, LinksValueSchema& o)
{
if(j.find("href") != j.end())
{
j.at("href").get_to(o.m_Href);
o.m_HrefIsSet = true;
}
}
std::string LinksValueSchema::getHref() const
{
return m_Href;
}
void LinksValueSchema::setHref(std::string const& value)
{
m_Href = value;
m_HrefIsSet = true;
}
bool LinksValueSchema::hrefIsSet() const
{
return m_HrefIsSet;
}
void LinksValueSchema::unsetHref()
{
m_HrefIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* LinksValueSchema.h
*
*
*/
#ifndef LinksValueSchema_H_
#define LinksValueSchema_H_
#include <string>
#include "Link.h"
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class LinksValueSchema
{
public:
LinksValueSchema();
virtual ~LinksValueSchema();
void validate();
/////////////////////////////////////////////
/// LinksValueSchema members
/// <summary>
///
/// </summary>
std::string getHref() const;
void setHref(std::string const& value);
bool hrefIsSet() const;
void unsetHref();
friend void to_json(nlohmann::json& j, const LinksValueSchema& o);
friend void from_json(const nlohmann::json& j, LinksValueSchema& o);
protected:
std::string m_Href;
bool m_HrefIsSet;
};
}
}
}
}
#endif /* LinksValueSchema_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ProblemDetails.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
ProblemDetails::ProblemDetails()
{
m_Type = "";
m_TypeIsSet = false;
m_Title = "";
m_TitleIsSet = false;
m_Status = 0;
m_StatusIsSet = false;
m_Detail = "";
m_DetailIsSet = false;
m_Instance = "";
m_InstanceIsSet = false;
m_Cause = "";
m_CauseIsSet = false;
m_InvalidParamsIsSet = false;
m_SupportedFeatures = "";
m_SupportedFeaturesIsSet = false;
m_TargetScp = "";
m_TargetScpIsSet = false;
}
ProblemDetails::~ProblemDetails()
{
}
void ProblemDetails::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const ProblemDetails& o)
{
j = nlohmann::json();
if(o.typeIsSet())
j["type"] = o.m_Type;
if(o.titleIsSet())
j["title"] = o.m_Title;
if(o.statusIsSet())
j["status"] = o.m_Status;
if(o.detailIsSet())
j["detail"] = o.m_Detail;
if(o.instanceIsSet())
j["instance"] = o.m_Instance;
if(o.causeIsSet())
j["cause"] = o.m_Cause;
if(o.invalidParamsIsSet() || !o.m_InvalidParams.empty())
j["invalidParams"] = o.m_InvalidParams;
if(o.supportedFeaturesIsSet())
j["supportedFeatures"] = o.m_SupportedFeatures;
if(o.targetScpIsSet())
j["targetScp"] = o.m_TargetScp;
}
void from_json(const nlohmann::json& j, ProblemDetails& o)
{
if(j.find("type") != j.end())
{
j.at("type").get_to(o.m_Type);
o.m_TypeIsSet = true;
}
if(j.find("title") != j.end())
{
j.at("title").get_to(o.m_Title);
o.m_TitleIsSet = true;
}
if(j.find("status") != j.end())
{
j.at("status").get_to(o.m_Status);
o.m_StatusIsSet = true;
}
if(j.find("detail") != j.end())
{
j.at("detail").get_to(o.m_Detail);
o.m_DetailIsSet = true;
}
if(j.find("instance") != j.end())
{
j.at("instance").get_to(o.m_Instance);
o.m_InstanceIsSet = true;
}
if(j.find("cause") != j.end())
{
j.at("cause").get_to(o.m_Cause);
o.m_CauseIsSet = true;
}
if(j.find("invalidParams") != j.end())
{
j.at("invalidParams").get_to(o.m_InvalidParams);
o.m_InvalidParamsIsSet = true;
}
if(j.find("supportedFeatures") != j.end())
{
j.at("supportedFeatures").get_to(o.m_SupportedFeatures);
o.m_SupportedFeaturesIsSet = true;
}
if(j.find("targetScp") != j.end())
{
j.at("targetScp").get_to(o.m_TargetScp);
o.m_TargetScpIsSet = true;
}
}
std::string ProblemDetails::getType() const
{
return m_Type;
}
void ProblemDetails::setType(std::string const& value)
{
m_Type = value;
m_TypeIsSet = true;
}
bool ProblemDetails::typeIsSet() const
{
return m_TypeIsSet;
}
void ProblemDetails::unsetType()
{
m_TypeIsSet = false;
}
std::string ProblemDetails::getTitle() const
{
return m_Title;
}
void ProblemDetails::setTitle(std::string const& value)
{
m_Title = value;
m_TitleIsSet = true;
}
bool ProblemDetails::titleIsSet() const
{
return m_TitleIsSet;
}
void ProblemDetails::unsetTitle()
{
m_TitleIsSet = false;
}
int32_t ProblemDetails::getStatus() const
{
return m_Status;
}
void ProblemDetails::setStatus(int32_t const value)
{
m_Status = value;
m_StatusIsSet = true;
}
bool ProblemDetails::statusIsSet() const
{
return m_StatusIsSet;
}
void ProblemDetails::unsetStatus()
{
m_StatusIsSet = false;
}
std::string ProblemDetails::getDetail() const
{
return m_Detail;
}
void ProblemDetails::setDetail(std::string const& value)
{
m_Detail = value;
m_DetailIsSet = true;
}
bool ProblemDetails::detailIsSet() const
{
return m_DetailIsSet;
}
void ProblemDetails::unsetDetail()
{
m_DetailIsSet = false;
}
std::string ProblemDetails::getInstance() const
{
return m_Instance;
}
void ProblemDetails::setInstance(std::string const& value)
{
m_Instance = value;
m_InstanceIsSet = true;
}
bool ProblemDetails::instanceIsSet() const
{
return m_InstanceIsSet;
}
void ProblemDetails::unsetInstance()
{
m_InstanceIsSet = false;
}
std::string ProblemDetails::getCause() const
{
return m_Cause;
}
void ProblemDetails::setCause(std::string const& value)
{
m_Cause = value;
m_CauseIsSet = true;
}
bool ProblemDetails::causeIsSet() const
{
return m_CauseIsSet;
}
void ProblemDetails::unsetCause()
{
m_CauseIsSet = false;
}
std::vector<InvalidParam>& ProblemDetails::getInvalidParams()
{
return m_InvalidParams;
}
void ProblemDetails::setInvalidParams(std::vector<InvalidParam> const& value)
{
m_InvalidParams = value;
m_InvalidParamsIsSet = true;
}
bool ProblemDetails::invalidParamsIsSet() const
{
return m_InvalidParamsIsSet;
}
void ProblemDetails::unsetInvalidParams()
{
m_InvalidParamsIsSet = false;
}
std::string ProblemDetails::getSupportedFeatures() const
{
return m_SupportedFeatures;
}
void ProblemDetails::setSupportedFeatures(std::string const& value)
{
m_SupportedFeatures = value;
m_SupportedFeaturesIsSet = true;
}
bool ProblemDetails::supportedFeaturesIsSet() const
{
return m_SupportedFeaturesIsSet;
}
void ProblemDetails::unsetSupportedFeatures()
{
m_SupportedFeaturesIsSet = false;
}
std::string ProblemDetails::getTargetScp() const
{
return m_TargetScp;
}
void ProblemDetails::setTargetScp(std::string const& value)
{
m_TargetScp = value;
m_TargetScpIsSet = true;
}
bool ProblemDetails::targetScpIsSet() const
{
return m_TargetScpIsSet;
}
void ProblemDetails::unsetTargetScp()
{
m_TargetScpIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ProblemDetails.h
*
*
*/
#ifndef ProblemDetails_H_
#define ProblemDetails_H_
#include <string>
#include "InvalidParam.h"
#include <vector>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class ProblemDetails
{
public:
ProblemDetails();
virtual ~ProblemDetails();
void validate();
/////////////////////////////////////////////
/// ProblemDetails members
/// <summary>
///
/// </summary>
std::string getType() const;
void setType(std::string const& value);
bool typeIsSet() const;
void unsetType();
/// <summary>
///
/// </summary>
std::string getTitle() const;
void setTitle(std::string const& value);
bool titleIsSet() const;
void unsetTitle();
/// <summary>
///
/// </summary>
int32_t getStatus() const;
void setStatus(int32_t const value);
bool statusIsSet() const;
void unsetStatus();
/// <summary>
///
/// </summary>
std::string getDetail() const;
void setDetail(std::string const& value);
bool detailIsSet() const;
void unsetDetail();
/// <summary>
///
/// </summary>
std::string getInstance() const;
void setInstance(std::string const& value);
bool instanceIsSet() const;
void unsetInstance();
/// <summary>
///
/// </summary>
std::string getCause() const;
void setCause(std::string const& value);
bool causeIsSet() const;
void unsetCause();
/// <summary>
///
/// </summary>
std::vector<InvalidParam>& getInvalidParams();
void setInvalidParams(std::vector<InvalidParam> const& value);
bool invalidParamsIsSet() const;
void unsetInvalidParams();
/// <summary>
///
/// </summary>
std::string getSupportedFeatures() const;
void setSupportedFeatures(std::string const& value);
bool supportedFeaturesIsSet() const;
void unsetSupportedFeatures();
/// <summary>
///
/// </summary>
std::string getTargetScp() const;
void setTargetScp(std::string const& value);
bool targetScpIsSet() const;
void unsetTargetScp();
friend void to_json(nlohmann::json& j, const ProblemDetails& o);
friend void from_json(const nlohmann::json& j, ProblemDetails& o);
protected:
std::string m_Type;
bool m_TypeIsSet;
std::string m_Title;
bool m_TitleIsSet;
int32_t m_Status;
bool m_StatusIsSet;
std::string m_Detail;
bool m_DetailIsSet;
std::string m_Instance;
bool m_InstanceIsSet;
std::string m_Cause;
bool m_CauseIsSet;
std::vector<InvalidParam> m_InvalidParams;
bool m_InvalidParamsIsSet;
std::string m_SupportedFeatures;
bool m_SupportedFeaturesIsSet;
std::string m_TargetScp;
bool m_TargetScpIsSet;
};
}
}
}
}
#endif /* ProblemDetails_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "ResynchronizationInfo.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
ResynchronizationInfo::ResynchronizationInfo()
{
m_Rand = "";
m_Auts = "";
}
ResynchronizationInfo::~ResynchronizationInfo()
{
}
void ResynchronizationInfo::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const ResynchronizationInfo& o)
{
j = nlohmann::json();
j["rand"] = o.m_Rand;
j["auts"] = o.m_Auts;
}
void from_json(const nlohmann::json& j, ResynchronizationInfo& o)
{
j.at("rand").get_to(o.m_Rand);
j.at("auts").get_to(o.m_Auts);
}
std::string ResynchronizationInfo::getRand() const
{
return m_Rand;
}
void ResynchronizationInfo::setRand(std::string const& value)
{
m_Rand = value;
}
std::string ResynchronizationInfo::getAuts() const
{
return m_Auts;
}
void ResynchronizationInfo::setAuts(std::string const& value)
{
m_Auts = value;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* ResynchronizationInfo.h
*
*
*/
#ifndef ResynchronizationInfo_H_
#define ResynchronizationInfo_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class ResynchronizationInfo
{
public:
ResynchronizationInfo();
virtual ~ResynchronizationInfo();
void validate();
/////////////////////////////////////////////
/// ResynchronizationInfo members
/// <summary>
///
/// </summary>
std::string getRand() const;
void setRand(std::string const& value);
/// <summary>
///
/// </summary>
std::string getAuts() const;
void setAuts(std::string const& value);
friend void to_json(nlohmann::json& j, const ResynchronizationInfo& o);
friend void from_json(const nlohmann::json& j, ResynchronizationInfo& o);
protected:
std::string m_Rand;
std::string m_Auts;
};
}
}
}
}
#endif /* ResynchronizationInfo_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "RgAuthCtx.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
RgAuthCtx::RgAuthCtx()
{
m_Supi = "";
m_SupiIsSet = false;
m_AuthInd = false;
m_AuthIndIsSet = false;
}
RgAuthCtx::~RgAuthCtx()
{
}
void RgAuthCtx::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const RgAuthCtx& o)
{
j = nlohmann::json();
j["authResult"] = o.m_AuthResult;
if(o.supiIsSet())
j["supi"] = o.m_Supi;
if(o.authIndIsSet())
j["authInd"] = o.m_AuthInd;
}
void from_json(const nlohmann::json& j, RgAuthCtx& o)
{
j.at("authResult").get_to(o.m_AuthResult);
if(j.find("supi") != j.end())
{
j.at("supi").get_to(o.m_Supi);
o.m_SupiIsSet = true;
}
if(j.find("authInd") != j.end())
{
j.at("authInd").get_to(o.m_AuthInd);
o.m_AuthIndIsSet = true;
}
}
AuthResult RgAuthCtx::getAuthResult() const
{
return m_AuthResult;
}
void RgAuthCtx::setAuthResult(AuthResult const& value)
{
m_AuthResult = value;
}
std::string RgAuthCtx::getSupi() const
{
return m_Supi;
}
void RgAuthCtx::setSupi(std::string const& value)
{
m_Supi = value;
m_SupiIsSet = true;
}
bool RgAuthCtx::supiIsSet() const
{
return m_SupiIsSet;
}
void RgAuthCtx::unsetSupi()
{
m_SupiIsSet = false;
}
bool RgAuthCtx::isAuthInd() const
{
return m_AuthInd;
}
void RgAuthCtx::setAuthInd(bool const value)
{
m_AuthInd = value;
m_AuthIndIsSet = true;
}
bool RgAuthCtx::authIndIsSet() const
{
return m_AuthIndIsSet;
}
void RgAuthCtx::unsetAuthInd()
{
m_AuthIndIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* RgAuthCtx.h
*
*
*/
#ifndef RgAuthCtx_H_
#define RgAuthCtx_H_
#include <string>
#include "AuthResult.h"
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class RgAuthCtx
{
public:
RgAuthCtx();
virtual ~RgAuthCtx();
void validate();
/////////////////////////////////////////////
/// RgAuthCtx members
/// <summary>
///
/// </summary>
AuthResult getAuthResult() const;
void setAuthResult(AuthResult const& value);
/// <summary>
///
/// </summary>
std::string getSupi() const;
void setSupi(std::string const& value);
bool supiIsSet() const;
void unsetSupi();
/// <summary>
///
/// </summary>
bool isAuthInd() const;
void setAuthInd(bool const value);
bool authIndIsSet() const;
void unsetAuthInd();
friend void to_json(nlohmann::json& j, const RgAuthCtx& o);
friend void from_json(const nlohmann::json& j, RgAuthCtx& o);
protected:
AuthResult m_AuthResult;
std::string m_Supi;
bool m_SupiIsSet;
bool m_AuthInd;
bool m_AuthIndIsSet;
};
}
}
}
}
#endif /* RgAuthCtx_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "RgAuthenticationInfo.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
RgAuthenticationInfo::RgAuthenticationInfo()
{
m_Suci = "";
m_AuthenticatedInd = false;
}
RgAuthenticationInfo::~RgAuthenticationInfo()
{
}
void RgAuthenticationInfo::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const RgAuthenticationInfo& o)
{
j = nlohmann::json();
j["suci"] = o.m_Suci;
j["authenticatedInd"] = o.m_AuthenticatedInd;
}
void from_json(const nlohmann::json& j, RgAuthenticationInfo& o)
{
j.at("suci").get_to(o.m_Suci);
j.at("authenticatedInd").get_to(o.m_AuthenticatedInd);
}
std::string RgAuthenticationInfo::getSuci() const
{
return m_Suci;
}
void RgAuthenticationInfo::setSuci(std::string const& value)
{
m_Suci = value;
}
bool RgAuthenticationInfo::isAuthenticatedInd() const
{
return m_AuthenticatedInd;
}
void RgAuthenticationInfo::setAuthenticatedInd(bool const value)
{
m_AuthenticatedInd = value;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* RgAuthenticationInfo.h
*
*
*/
#ifndef RgAuthenticationInfo_H_
#define RgAuthenticationInfo_H_
#include <string>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class RgAuthenticationInfo
{
public:
RgAuthenticationInfo();
virtual ~RgAuthenticationInfo();
void validate();
/////////////////////////////////////////////
/// RgAuthenticationInfo members
/// <summary>
///
/// </summary>
std::string getSuci() const;
void setSuci(std::string const& value);
/// <summary>
///
/// </summary>
bool isAuthenticatedInd() const;
void setAuthenticatedInd(bool const value);
friend void to_json(nlohmann::json& j, const RgAuthenticationInfo& o);
friend void from_json(const nlohmann::json& j, RgAuthenticationInfo& o);
protected:
std::string m_Suci;
bool m_AuthenticatedInd;
};
}
}
}
}
#endif /* RgAuthenticationInfo_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "TraceData.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
TraceData::TraceData()
{
m_TraceRef = "";
m_NeTypeList = "";
m_EventList = "";
m_CollectionEntityIpv4Addr = "";
m_CollectionEntityIpv4AddrIsSet = false;
m_CollectionEntityIpv6AddrIsSet = false;
m_InterfaceList = "";
m_InterfaceListIsSet = false;
}
TraceData::~TraceData()
{
}
void TraceData::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const TraceData& o)
{
j = nlohmann::json();
j["traceRef"] = o.m_TraceRef;
j["traceDepth"] = o.m_TraceDepth;
j["neTypeList"] = o.m_NeTypeList;
j["eventList"] = o.m_EventList;
if(o.collectionEntityIpv4AddrIsSet())
j["collectionEntityIpv4Addr"] = o.m_CollectionEntityIpv4Addr;
if(o.collectionEntityIpv6AddrIsSet())
j["collectionEntityIpv6Addr"] = o.m_CollectionEntityIpv6Addr;
if(o.interfaceListIsSet())
j["interfaceList"] = o.m_InterfaceList;
}
void from_json(const nlohmann::json& j, TraceData& o)
{
j.at("traceRef").get_to(o.m_TraceRef);
j.at("traceDepth").get_to(o.m_TraceDepth);
j.at("neTypeList").get_to(o.m_NeTypeList);
j.at("eventList").get_to(o.m_EventList);
if(j.find("collectionEntityIpv4Addr") != j.end())
{
j.at("collectionEntityIpv4Addr").get_to(o.m_CollectionEntityIpv4Addr);
o.m_CollectionEntityIpv4AddrIsSet = true;
}
if(j.find("collectionEntityIpv6Addr") != j.end())
{
j.at("collectionEntityIpv6Addr").get_to(o.m_CollectionEntityIpv6Addr);
o.m_CollectionEntityIpv6AddrIsSet = true;
}
if(j.find("interfaceList") != j.end())
{
j.at("interfaceList").get_to(o.m_InterfaceList);
o.m_InterfaceListIsSet = true;
}
}
std::string TraceData::getTraceRef() const
{
return m_TraceRef;
}
void TraceData::setTraceRef(std::string const& value)
{
m_TraceRef = value;
}
TraceDepth TraceData::getTraceDepth() const
{
return m_TraceDepth;
}
void TraceData::setTraceDepth(TraceDepth const& value)
{
m_TraceDepth = value;
}
std::string TraceData::getNeTypeList() const
{
return m_NeTypeList;
}
void TraceData::setNeTypeList(std::string const& value)
{
m_NeTypeList = value;
}
std::string TraceData::getEventList() const
{
return m_EventList;
}
void TraceData::setEventList(std::string const& value)
{
m_EventList = value;
}
std::string TraceData::getCollectionEntityIpv4Addr() const
{
return m_CollectionEntityIpv4Addr;
}
void TraceData::setCollectionEntityIpv4Addr(std::string const& value)
{
m_CollectionEntityIpv4Addr = value;
m_CollectionEntityIpv4AddrIsSet = true;
}
bool TraceData::collectionEntityIpv4AddrIsSet() const
{
return m_CollectionEntityIpv4AddrIsSet;
}
void TraceData::unsetCollectionEntityIpv4Addr()
{
m_CollectionEntityIpv4AddrIsSet = false;
}
Ipv6Addr TraceData::getCollectionEntityIpv6Addr() const
{
return m_CollectionEntityIpv6Addr;
}
void TraceData::setCollectionEntityIpv6Addr(Ipv6Addr const& value)
{
m_CollectionEntityIpv6Addr = value;
m_CollectionEntityIpv6AddrIsSet = true;
}
bool TraceData::collectionEntityIpv6AddrIsSet() const
{
return m_CollectionEntityIpv6AddrIsSet;
}
void TraceData::unsetCollectionEntityIpv6Addr()
{
m_CollectionEntityIpv6AddrIsSet = false;
}
std::string TraceData::getInterfaceList() const
{
return m_InterfaceList;
}
void TraceData::setInterfaceList(std::string const& value)
{
m_InterfaceList = value;
m_InterfaceListIsSet = true;
}
bool TraceData::interfaceListIsSet() const
{
return m_InterfaceListIsSet;
}
void TraceData::unsetInterfaceList()
{
m_InterfaceListIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* TraceData.h
*
*
*/
#ifndef TraceData_H_
#define TraceData_H_
#include "TraceDepth.h"
#include <string>
#include "Ipv6Addr.h"
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class TraceData
{
public:
TraceData();
virtual ~TraceData();
void validate();
/////////////////////////////////////////////
/// TraceData members
/// <summary>
///
/// </summary>
std::string getTraceRef() const;
void setTraceRef(std::string const& value);
/// <summary>
///
/// </summary>
TraceDepth getTraceDepth() const;
void setTraceDepth(TraceDepth const& value);
/// <summary>
///
/// </summary>
std::string getNeTypeList() const;
void setNeTypeList(std::string const& value);
/// <summary>
///
/// </summary>
std::string getEventList() const;
void setEventList(std::string const& value);
/// <summary>
///
/// </summary>
std::string getCollectionEntityIpv4Addr() const;
void setCollectionEntityIpv4Addr(std::string const& value);
bool collectionEntityIpv4AddrIsSet() const;
void unsetCollectionEntityIpv4Addr();
/// <summary>
///
/// </summary>
Ipv6Addr getCollectionEntityIpv6Addr() const;
void setCollectionEntityIpv6Addr(Ipv6Addr const& value);
bool collectionEntityIpv6AddrIsSet() const;
void unsetCollectionEntityIpv6Addr();
/// <summary>
///
/// </summary>
std::string getInterfaceList() const;
void setInterfaceList(std::string const& value);
bool interfaceListIsSet() const;
void unsetInterfaceList();
friend void to_json(nlohmann::json& j, const TraceData& o);
friend void from_json(const nlohmann::json& j, TraceData& o);
protected:
std::string m_TraceRef;
TraceDepth m_TraceDepth;
std::string m_NeTypeList;
std::string m_EventList;
std::string m_CollectionEntityIpv4Addr;
bool m_CollectionEntityIpv4AddrIsSet;
Ipv6Addr m_CollectionEntityIpv6Addr;
bool m_CollectionEntityIpv6AddrIsSet;
std::string m_InterfaceList;
bool m_InterfaceListIsSet;
};
}
}
}
}
#endif /* TraceData_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "TraceDepth.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
TraceDepth::TraceDepth()
{
}
TraceDepth::~TraceDepth()
{
}
void TraceDepth::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const TraceDepth& o)
{
j = nlohmann::json();
}
void from_json(const nlohmann::json& j, TraceDepth& o)
{
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* TraceDepth.h
*
*
*/
#ifndef TraceDepth_H_
#define TraceDepth_H_
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class TraceDepth
{
public:
TraceDepth();
virtual ~TraceDepth();
void validate();
/////////////////////////////////////////////
/// TraceDepth members
friend void to_json(nlohmann::json& j, const TraceDepth& o);
friend void from_json(const nlohmann::json& j, TraceDepth& o);
protected:
};
}
}
}
}
#endif /* TraceDepth_H_ */
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "UEAuthenticationCtx.h"
namespace org {
namespace openapitools {
namespace server {
namespace model {
UEAuthenticationCtx::UEAuthenticationCtx()
{
m_ServingNetworkName = "";
m_ServingNetworkNameIsSet = false;
}
UEAuthenticationCtx::~UEAuthenticationCtx()
{
}
void UEAuthenticationCtx::validate()
{
// TODO: implement validation
}
void to_json(nlohmann::json& j, const UEAuthenticationCtx& o)
{
j = nlohmann::json();
j["authType"] = o.m_AuthType;
j["5gAuthData"] = o.m_r_5gAuthData;
j["_links"] = o.m__links;
if(o.servingNetworkNameIsSet())
j["servingNetworkName"] = o.m_ServingNetworkName;
}
void from_json(const nlohmann::json& j, UEAuthenticationCtx& o)
{
j.at("authType").get_to(o.m_AuthType);
j.at("5gAuthData").get_to(o.m_r_5gAuthData);
j.at("_links").get_to(o.m__links);
if(j.find("servingNetworkName") != j.end())
{
j.at("servingNetworkName").get_to(o.m_ServingNetworkName);
o.m_ServingNetworkNameIsSet = true;
}
}
AuthType UEAuthenticationCtx::getAuthType() const
{
return m_AuthType;
}
void UEAuthenticationCtx::setAuthType(AuthType const& value)
{
m_AuthType = value;
}
OneOfAv5gAkastring UEAuthenticationCtx::getR5gAuthData() const
{
return m_r_5gAuthData;
}
void UEAuthenticationCtx::setR5gAuthData(OneOfAv5gAkastring const& value)
{
m_r_5gAuthData = value;
}
std::map<std::string, LinksValueSchema>& UEAuthenticationCtx::getLinks()
{
return m__links;
}
void UEAuthenticationCtx::setLinks(std::map<std::string, LinksValueSchema> const& value)
{
m__links = value;
}
std::string UEAuthenticationCtx::getServingNetworkName() const
{
return m_ServingNetworkName;
}
void UEAuthenticationCtx::setServingNetworkName(std::string const& value)
{
m_ServingNetworkName = value;
m_ServingNetworkNameIsSet = true;
}
bool UEAuthenticationCtx::servingNetworkNameIsSet() const
{
return m_ServingNetworkNameIsSet;
}
void UEAuthenticationCtx::unsetServingNetworkName()
{
m_ServingNetworkNameIsSet = false;
}
}
}
}
}
/**
* AUSF API
* AUSF UE Authentication Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
*
* The version of the OpenAPI document: 1.1.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* UEAuthenticationCtx.h
*
*
*/
#ifndef UEAuthenticationCtx_H_
#define UEAuthenticationCtx_H_
#include "OneOfAv5gAkastring.h"
#include "LinksValueSchema.h"
#include "AuthType.h"
#include <string>
#include <map>
#include <vector>
#include <nlohmann/json.hpp>
namespace org {
namespace openapitools {
namespace server {
namespace model {
/// <summary>
///
/// </summary>
class UEAuthenticationCtx
{
public:
UEAuthenticationCtx();
virtual ~UEAuthenticationCtx();
void validate();
/////////////////////////////////////////////
/// UEAuthenticationCtx members
/// <summary>
///
/// </summary>
AuthType getAuthType() const;
void setAuthType(AuthType const& value);
/// <summary>
///
/// </summary>
OneOfAv5gAkastring getR5gAuthData() const;
void setR5gAuthData(OneOfAv5gAkastring const& value);
/// <summary>
///
/// </summary>
std::map<std::string, LinksValueSchema>& getLinks();
void setLinks(std::map<std::string, LinksValueSchema> const& value);
/// <summary>
///
/// </summary>
std::string getServingNetworkName() const;
void setServingNetworkName(std::string const& value);
bool servingNetworkNameIsSet() const;
void unsetServingNetworkName();
friend void to_json(nlohmann::json& j, const UEAuthenticationCtx& o);
friend void from_json(const nlohmann::json& j, UEAuthenticationCtx& o);
protected:
AuthType m_AuthType;
OneOfAv5gAkastring m_r_5gAuthData;
std::map<std::string, LinksValueSchema> m__links;
std::string m_ServingNetworkName;
bool m_ServingNetworkNameIsSet;
};
}
}
}
}
#endif /* UEAuthenticationCtx_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment