V2XInformationServiceAPI_Templates.ttcn 9.27 KB
Newer Older
/**
 *  @author     ETSI / TTF T012
 *  @version    $Url$
 *              $Id$
 *  @desc       Types ANd Values for ETSI GS MEC 030 V2.1.1 (2020-04)
 *  @copyright   ETSI Copyright Notification
 *               No part may be reproduced except as authorized by written permission.
 *               The copyright and the foregoing restriction extend to reproduction in all media.
 *               All rights reserved.
 */
module V2XInformationServiceAPI_Templates {

  // JSON
  import from JSON all;

  // LibCommon
  import from LibCommon_BasicTypesAndValues all;

  // LibMec/V2XInformationServiceAPI
  import from V2XInformationServiceAPI_TypesAndValues all;
  import from V2XInformationServiceAPI_Pixits all;

  template (omit) UuUnicastProvisioningInfo m_uu_unicast_provisioning_info(
                                                                            in template (value) ProInfoUuUnicastList p_proInfoUuUnicast,
                                                                            in template (omit) TimeStamp p_timeStamp := omit
                                                                            ) := {
    proInfoUuUnicast := p_proInfoUuUnicast,
    timeStamp        := p_timeStamp
  } // End of template m_uu_unicast_provisioning_info

  template (present) UuUnicastProvisioningInfo mw_uu_unicast_provisioning_info(
                                                                               template (present) ProInfoUuUnicastList p_proInfoUuUnicast := ?,
                                                                               template TimeStamp p_timeStamp := *
                                                                               ) := {
    proInfoUuUnicast := p_proInfoUuUnicast,
    timeStamp        := p_timeStamp
  } // End of template mw_uu_unicast_provisioning_info

YannGarcia's avatar
YannGarcia committed
  template (omit) UuMbmsProvisioningInfo m_uu_mbms_provisioning_info(
YannGarcia's avatar
YannGarcia committed
                                                                     in template (value) ProInfoUuMbmsList p_proInfoUuMbms,
                                                                     in template (omit) TimeStamp p_timeStamp := omit
                                                                     ) := {
YannGarcia's avatar
YannGarcia committed
    proInfoUuMbms := p_proInfoUuMbms,
    timeStamp     := p_timeStamp
  } // End of template m_uu_mbms_provisioning_info

  template (present) UuMbmsProvisioningInfo mw_uu_mbms_provisioning_info(
YannGarcia's avatar
YannGarcia committed
                                                                         template (present) ProInfoUuMbmsList p_proInfoUuMbms := ?,
                                                                         template TimeStamp p_timeStamp := *
                                                                         ) := {
YannGarcia's avatar
YannGarcia committed
    proInfoUuMbms := p_proInfoUuMbms,
    timeStamp     := p_timeStamp
  } // End of template mw_uu_mbms_provisioning_info

  template (omit) Pc5ProvisioningInfo m_pc5_provisioning_info(
                                                              in template (value) Pc5ProvisioningInfoProInfoPc5List p_proInfoPc5,
                                                              in template (omit) TimeStamp p_timeStamp := omit
                                                              ) := {
    proInfoPc5 := p_proInfoPc5,
    timeStamp  := p_timeStamp
  } // End of template m_pc5_provisioning_info

  template (present) Pc5ProvisioningInfo mw_pc5_provisioning_info(
                                                                  template (present) Pc5ProvisioningInfoProInfoPc5List p_proInfoPc5 := ?,
                                                                  template TimeStamp p_timeStamp := *
                                                                  ) := {
    proInfoPc5 := p_proInfoPc5,
    timeStamp  := p_timeStamp
  } // End of template mw_pc5_provisioning_info

YannGarcia's avatar
YannGarcia committed
  template (omit) PredictedQos m_predicted_qos(
                                               in template (value) JSON.String p_locationGranularity,
                                               in template (value) PredictedQosRoutesList p_routes,
                                               in template (omit) TimeStamp p_timeGranularity := omit
                                               ) := {
    timeGranularity     := p_timeGranularity,
    locationGranularity := p_locationGranularity,
    routes              := p_routes
  } // End of template m_predicted_qos

  template PredictedQos mw_predicted_qos(
                                         template (present) JSON.String p_locationGranularity := ?,
                                         template (present) PredictedQosRoutesList p_routes := ?,
                                         template TimeStamp p_timeGranularity := *
                                               ) := {
    timeGranularity     := p_timeGranularity,
    locationGranularity := p_locationGranularity,
    routes              := p_routes
  } // End of template mw_predicted_qos

  template (value) PredictedQosRoutes m_predicted_qos_routes(
                                                             in template (value) RouteInfoList p_routeinfo
                                                             ) := {
    routeinfo := p_routeinfo
  } // End of template m_predicted_qos_routes

  template (present) PredictedQosRoutes mw_predicted_qos_routes(
                                                                template (present) RouteInfoList p_routeinfo := ?
                                                                ) := {
    routeinfo := p_routeinfo
  } // End of template mw_predicted_qos_routes

  template (omit) RouteInfo m_route_info(
                                          in template (value) LocationInfo p_location,
                                          in template (omit) TimeStamp p_time := omit,
                                          in template (omit) UInt8 p_rsrp := omit,
                                          in template (omit) UInt8 p_rsrq := omit
                                          ) := {
    location := p_location,
    time     := p_time,
    rsrp     := p_rsrp,
    rsrq     := p_rsrq
  } // End of template m_route_info

  template RouteInfo mw_route_info(
                                  template (present) LocationInfo p_location := ?,
                                  template TimeStamp p_time := *,
                                  template UInt8 p_rsrp := *,
                                  template UInt8 p_rsrq := *
                                  ) := {
    location := p_location,
    time     := p_time,
    rsrp     := p_rsrp,
    rsrq     := p_rsrq
  } // End of template mw_route_info

  template (omit) LocationInfo m_location_info(
                                               in template (value) Ecgi p_ecgi,
                                               in template (omit) LocationInfoGeoArea p_geoArea := omit
                                               ) := {
    ecgi := p_ecgi,
    geoArea := p_geoArea
  } // End of template m_location_info

  template LocationInfo mw_location_info(
                                         template (present) Ecgi p_ecgi := ?,
                                         template LocationInfoGeoArea p_geoArea := *
                                         ) := {
    ecgi := p_ecgi,
    geoArea := p_geoArea
  } // End of template mw_location_info

  template (value) LocationInfoGeoArea m_location_info_geo_area(
                                                                in JSON.Number p_latitude,
                                                                in JSON.Number p_longitude
                                                                ) := {
    latitude  := p_latitude,
    longitude := p_longitude
  } // End of m_location_info_geo_area

  template (present) LocationInfoGeoArea mw_location_info_geo_area(
                                                                   template (present) JSON.Number p_latitude := ?,
                                                                   template (present) JSON.Number p_longitude := ?
                                                                   ) := {
    latitude  := p_latitude,
    longitude := p_longitude
  } // End of mw_location_info_geo_area

  template (value) Ecgi m_ecgi(
                               in JSON.String p_cellId,
                               in template (value) Plmn p_plmn
                               ) := {
    cellId := {
               cellId := p_cellId
              },
    plmn := p_plmn
  } // End of template m_ecgi

  template (present) Ecgi mw_ecgi(
                                  template (present) JSON.String p_cellId := ?,
                                  template (present) Plmn p_plmn := ?
                                  ) := {
    cellId := {
               cellId := p_cellId
              },
    plmn := p_plmn
  } // End of template mw_ecgi

  template (value) Plmn m_plmn(
                               in JSON.String p_mcc,
                               in JSON.String p_mnc
                               ) := {
    mcc := p_mcc,
    mnc := p_mnc
  } // End of template m_plmn

  template (present) Plmn mw_plmn(
                                  template (present) JSON.String p_mcc := ?,
                                  template (present) JSON.String p_mnc := ?
                                  ) := {
    mcc := p_mcc,
    mnc := p_mnc
  } // End of template mw_plmn

} // End of module V2XInformationServiceAPI_Templates