Commit eb917a0d authored by Yann Garcia's avatar Yann Garcia
Browse files

Add template for AtsSAEM

parent 683e2b63
Loading
Loading
Loading
Loading
+194 −13
Original line number Diff line number Diff line
@@ -19,7 +19,9 @@ module LibItsSaem_Templates {
    // LibIts
    import from ETSI_ITS_CDD language "ASN.1:1997" all;
    import from SAEM_PDU_Descriptions language "ASN.1:1997" all;
    import from ITSee1 language "ASN.1:1997" all;
    import from ITSsa1 language "ASN.1:1997" all;
    import from CITSapplMgmtApplReg2 language "ASN.1:1997" all;

    // LibItsCommon
    import from LibItsCommon_Functions all;
@@ -140,4 +142,183 @@ module LibItsSaem_Templates {
        sam := ?
    }

    template (value) Sam m_sam(
                               in template (value) RsvAdvPrtVersion p_version,
                               in template (value) SamBody p_body
                               ) := {
        version := p_version,
        body    := p_body
    }

    template (present) Sam mw_sam(
                                  template (present) RsvAdvPrtVersion p_version := ?,
                                  template (present) SamBody p_body := ?
                                  ) := {
        version := p_version,
        body    := p_body
    }

    template (omit) SamBody m_sam_body(
                                       in template (value) SrvAdvChangeCount p_changeCount,
                                       in template (omit) ServiceInfos p_serviceInfos := omit,
                                       in template (omit) ChannelInfos p_channelInfos := omit,
                                       in template (omit) RoutingAdvertisement p_routingAdvertisement := omit
                                       ) := {
        changeCount          := p_changeCount,
        serviceInfos         := p_serviceInfos,
        channelInfos         := p_channelInfos,
        routingAdvertisement := p_routingAdvertisement
    }

    template (present) SamBody mw_sam_body(
                                           template (present) SrvAdvChangeCount p_changeCount := ?,
                                           template ServiceInfos p_serviceInfos := *,
                                           template ChannelInfos p_channelInfos := *,
                                           template RoutingAdvertisement p_routingAdvertisement := *
                                           ) := {
        changeCount          := p_changeCount,
        serviceInfos         := p_serviceInfos,
        channelInfos         := p_channelInfos,
        routingAdvertisement := p_routingAdvertisement
    }

    template (value) SrvAdvChangeCount m_srv_adv_change_count(
                                                              in template (value) SrvAdvID p_saID,
                                                              in template (value) SrvAdvContentCount p_contentCount
                                                              ) := {
        saID         := p_saID,
        contentCount := p_contentCount
    }

    template (present) SrvAdvChangeCount mw_srv_adv_change_count(
                                                                 template (present) SrvAdvID p_saID := ?,
                                                                 template (present) SrvAdvContentCount p_contentCount := ?
                                                                 ) := {
        saID         := p_saID,
        contentCount := p_contentCount
    }

    template (value) ServiceInfo m_service_info(
                                                in template (value) ITSaid p_serviceID,
                                                in template (value) ChannelIndex p_channelIndex,
                                                in template (value) ChannelOptions p_chOptions
                                                ) := {
        serviceID := p_serviceID,
        channelIndex := p_channelIndex,
        chOptions := p_chOptions
    }

    template (present) ServiceInfo mw_service_info(
                                                   template (present) ITSaid p_serviceID := ?,
                                                   template (present) ChannelIndex p_channelIndex := ?,
                                                   template (present) ChannelOptions p_chOptions := ?
                                                   ) := {
        serviceID := p_serviceID,
        channelIndex := p_channelIndex,
        chOptions := p_chOptions
    }

    template (omit) ChannelOptions m_channel_options(
                                                     in template (omit) ChannelOptions.systemService p_systemService := omit,
                                                     in template (omit) ChannelOptions.serviceProviderPort p_serviceProviderPort := omit
                                                     ) := {
        systemService       := p_systemService,
        serviceProviderPort := p_serviceProviderPort
    }

    template ChannelOptions mw_channel_options(
                                               template ChannelOptions.systemService p_systemService := *,
                                               template ChannelOptions.serviceProviderPort p_serviceProviderPort := *
                                               ) := {
        systemService       := p_systemService,
        serviceProviderPort := p_serviceProviderPort
    }


    template (value) ChannelInfo m_channel_info(
                                                in template (value) OperatingClass80211 p_operatingClass,
                                                in template (value) ChannelNumber80211 p_channelNumber,
                                                in template (value) TXpower80211 p_powerLevel,
                                                in template (value) WsaChInfoDataRate p_dataRate,
                                                in template (value) ChInfoOptions p_extensions
                                                ) := {
        operatingClass := p_operatingClass,
        channelNumber := p_channelNumber,
        powerLevel := p_powerLevel,
        dataRate := p_dataRate,
        extensions := p_extensions
    }

    template (present) ChannelInfo mw_channel_info(
                                                   template (present) OperatingClass80211 p_operatingClass := ?,
                                                   template (present) ChannelNumber80211 p_channelNumber := ?,
                                                   template (present) TXpower80211 p_powerLevel := ?,
                                                   template (present) WsaChInfoDataRate p_dataRate := ?,
                                                   template (present) ChInfoOptions p_extensions := ?
                                                   ) := {
        operatingClass := p_operatingClass,
        channelNumber := p_channelNumber,
        powerLevel := p_powerLevel,
        dataRate := p_dataRate,
        extensions := p_extensions
    }

    template (value) ExtendedChannelInfo m_extended_channel_info_c_ITSatt_iso21215(
                                                                                in template (value) ChannelInfo p_value
                                                                                ) := {
        medId := 2, //c_ITSatt_iso21215,
        value_ := { ChannelInfo := p_value }
    }

    template (present) ExtendedChannelInfo mw_extended_channel_info_c_ITSatt_iso21215(
                                                                                      template (present) ChannelInfo p_value := ?
                                                                                      ) := {
        medId := 2, //c_ITSatt_iso21215,
        value_ := { ChannelInfo := p_value }
    }

    template (value) WsaChInfoDataRate m_wsa_ch_info_data_rate(
                                                               in template (value) WsaChInfoDataRate.adaptable p_adaptable,
                                                               in template (value) WsaChInfoDataRate.dataRate p_dataRate
                                                               ) := {
        adaptable  := p_adaptable,
        dataRate := p_dataRate
    }

    template (present) WsaChInfoDataRate mw_wsa_ch_info_data_rate(
                                                                  template (present) WsaChInfoDataRate.adaptable p_adaptable := ?,
                                                                  template (present) WsaChInfoDataRate.dataRate p_dataRate := ?
                                                                  ) := {
        adaptable  := p_adaptable,
        dataRate := p_dataRate
    }

    template (value) RoutingAdvertisement m_routing_advertisement(
                                                                  in template (value) RouterLifetime p_lifetime,
                                                                  in template (value) IpV6Prefix p_ipPrefix,
                                                                  in template (value) IpV6PrefixLength p_ipPrefixLength,
                                                                  in template (value) IPv6Address p_defaultGateway,
                                                                  in template (value) IPv6Address p_primaryDns
                                                                  ) := {
        lifetime       := p_lifetime,
        ipPrefix       := p_ipPrefix,
        ipPrefixLength := p_ipPrefixLength,
        defaultGateway := p_defaultGateway,
        primaryDns     := p_primaryDns
    }

    template (present) RoutingAdvertisement mw_routing_advertisement(
                                                                     template (present) RouterLifetime p_lifetime := ?,
                                                                     template (present) IpV6Prefix p_ipPrefix := ?,
                                                                     template (present) IpV6PrefixLength p_ipPrefixLength := ?,
                                                                     template (present) IPv6Address p_defaultGateway := ?,
                                                                     template (present) IPv6Address p_primaryDns := ?
                                                                     ) := {
        lifetime       := p_lifetime,
        ipPrefix       := p_ipPrefix,
        ipPrefixLength := p_ipPrefixLength,
        defaultGateway := p_defaultGateway,
        primaryDns     := p_primaryDns
    }

} // End of group LibItsSaem_Templates