open5gs/lib/sbi/openapi/model/policy_association_request.h
Bostjan Meglic 50464d174e [openapi] Add support for nullable fields
Depending on the OpenAPI yaml files, fields can be marked as "nullable".
Which means that the field can be either present, not present, or null.

This feature is important for example in SmContextUpdateData structure,
where many fields are described similar as the following:
This IE shall be included for the modification .... For deleting the
field, it shall contain the Null value.
2023-10-11 21:10:20 +09:00

111 lines
3.7 KiB
C

/*
* policy_association_request.h
*
* Information which the NF service consumer provides when requesting the creation of a policy association. The serviveName property corresponds to the serviceName in the main body of the specification.
*/
#ifndef _OpenAPI_policy_association_request_H_
#define _OpenAPI_policy_association_request_H_
#include <string.h>
#include "../external/cJSON.h"
#include "../include/list.h"
#include "../include/keyValuePair.h"
#include "../include/binary.h"
#include "access_type.h"
#include "ambr.h"
#include "guami.h"
#include "mapping_of_snssai.h"
#include "nwdaf_data.h"
#include "plmn_id_nid.h"
#include "rat_type.h"
#include "service_area_restriction.h"
#include "snssai.h"
#include "trace_data.h"
#include "ue_slice_mbr.h"
#include "user_location.h"
#include "wireline_service_area_restriction.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct OpenAPI_policy_association_request_s OpenAPI_policy_association_request_t;
typedef struct OpenAPI_policy_association_request_s {
char *notification_uri;
OpenAPI_list_t *alt_notif_ipv4_addrs;
OpenAPI_list_t *alt_notif_ipv6_addrs;
OpenAPI_list_t *alt_notif_fqdns;
char *supi;
char *gpsi;
OpenAPI_access_type_e access_type;
OpenAPI_list_t *access_types;
char *pei;
struct OpenAPI_user_location_s *user_loc;
char *time_zone;
struct OpenAPI_plmn_id_nid_s *serving_plmn;
OpenAPI_rat_type_e rat_type;
OpenAPI_list_t *rat_types;
OpenAPI_list_t *group_ids;
struct OpenAPI_service_area_restriction_s *serv_area_res;
struct OpenAPI_wireline_service_area_restriction_s *wl_serv_area_res;
bool is_rfsp;
int rfsp;
struct OpenAPI_ambr_s *ue_ambr;
OpenAPI_list_t *ue_slice_mbrs;
OpenAPI_list_t *allowed_snssais;
OpenAPI_list_t *target_snssais;
OpenAPI_list_t *mapping_snssais;
OpenAPI_list_t *n3g_allowed_snssais;
struct OpenAPI_guami_s *guami;
char *service_name;
bool is_trace_req_null;
struct OpenAPI_trace_data_s *trace_req;
OpenAPI_list_t *nwdaf_datas;
char *supp_feat;
} OpenAPI_policy_association_request_t;
OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_create(
char *notification_uri,
OpenAPI_list_t *alt_notif_ipv4_addrs,
OpenAPI_list_t *alt_notif_ipv6_addrs,
OpenAPI_list_t *alt_notif_fqdns,
char *supi,
char *gpsi,
OpenAPI_access_type_e access_type,
OpenAPI_list_t *access_types,
char *pei,
OpenAPI_user_location_t *user_loc,
char *time_zone,
OpenAPI_plmn_id_nid_t *serving_plmn,
OpenAPI_rat_type_e rat_type,
OpenAPI_list_t *rat_types,
OpenAPI_list_t *group_ids,
OpenAPI_service_area_restriction_t *serv_area_res,
OpenAPI_wireline_service_area_restriction_t *wl_serv_area_res,
bool is_rfsp,
int rfsp,
OpenAPI_ambr_t *ue_ambr,
OpenAPI_list_t *ue_slice_mbrs,
OpenAPI_list_t *allowed_snssais,
OpenAPI_list_t *target_snssais,
OpenAPI_list_t *mapping_snssais,
OpenAPI_list_t *n3g_allowed_snssais,
OpenAPI_guami_t *guami,
char *service_name,
bool is_trace_req_null,
OpenAPI_trace_data_t *trace_req,
OpenAPI_list_t *nwdaf_datas,
char *supp_feat
);
void OpenAPI_policy_association_request_free(OpenAPI_policy_association_request_t *policy_association_request);
OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFromJSON(cJSON *policy_association_requestJSON);
cJSON *OpenAPI_policy_association_request_convertToJSON(OpenAPI_policy_association_request_t *policy_association_request);
OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_copy(OpenAPI_policy_association_request_t *dst, OpenAPI_policy_association_request_t *src);
#ifdef __cplusplus
}
#endif
#endif /* _OpenAPI_policy_association_request_H_ */