RnisAPI_Templates.ttcn 12.6 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
module RnisAPI_Templates {
Yann Garcia's avatar
Yann Garcia committed
  
YannGarcia's avatar
YannGarcia committed
  // JSON
  import from JSON all;
  
Yann Garcia's avatar
Yann Garcia committed
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  
Yann Garcia's avatar
Yann Garcia committed
  // LibMec/RnisAPI
Yann Garcia's avatar
Yann Garcia committed
  import from RnisAPI_TypesAndValues all;
Yann Garcia's avatar
Yann Garcia committed

YannGarcia's avatar
YannGarcia committed
  template (value) ProblemDetails m_problem_details(
                                                    in JSON.String p_type,
                                                    in JSON.String p_title,
                                                    in UInt32 p_status,
                                                    in JSON.String p_detail,
                                                    in JSON.String p_instance
                                                    ) := {
    type_    := p_type,
    title    := p_title,
    status   := p_status,
    detail   := p_detail,
    instance := p_instance
  } // End of template m_problem_details

  template (present) ProblemDetails mw_problem_details(
                                                       template (present) JSON.String p_type := ?,
                                                       template (present) JSON.String p_title := ?,
                                                       template (present) UInt32 p_status := ?,
                                                       template (present) JSON.String p_detail := ?,
                                                       template (present) JSON.String p_instance := ?
                                                       ) := {
    type_    := p_type,
    title    := p_title,
    status   := p_status,
    detail   := p_detail,
    instance := p_instance
  } // End of template mw_problem_details

Yann Garcia's avatar
Yann Garcia committed
  group subscriptions {
YannGarcia's avatar
YannGarcia committed
    
    template (omit) SubscriptionLinkList m_subscriptions_list(
                                                              in Link p_links,
                                                              in template (omit) Subscription p_subscription := omit
    ) := {
      links        := p_links,
      subscription := p_subscription
    } // End of template m_subscriptions_list
    
    
    template SubscriptionLinkList mw_subscriptions_list(
                                                        template (present) Link p_links := ?,
                                                        template Subscription p_subscription := *
    ) := {
      links        := p_links,
      subscription := p_subscription
    } // End of template mw_subscriptions_list 
    
YannGarcia's avatar
YannGarcia committed
    template (value) Subscription_ m_subscription(
                                                  in LinkType p_href,
                                                  in SubscriptionType p_subscriptionType
    ) := {
      href             := p_href,
      subscriptionType := p_subscriptionType
    } // End of temlate m_subscription
    
    template (present) Subscription_ mw_subscription(
                                                     template (present) LinkType p_href := ?,
                                                     template (present) SubscriptionType p_subscriptionType := ?
    ) := {
      href             := p_href,
      subscriptionType := p_subscriptionType
    } // End of temlate mw_subscription
    
YannGarcia's avatar
YannGarcia committed
    template (value) RabInfo m_rab_info(
                                        in template (value) TimeStamp p_timeStamp,
                                        in AppInsId p_appInsId,
                                        in RequestId p_requestId,
                                        in template (value) CellUserInfo p_cellUserInfo
    ) := {
      timeStamp    := p_timeStamp,
      appInsId     := p_appInsId,
      requestId    := p_requestId,
      cellUserInfo := p_cellUserInfo
    } // End of temlate m_rab_info
    
    template (present) RabInfo mw_rab_info(
                                           template (present) TimeStamp p_timeStamp := ?,
                                           template (present) AppInsId p_appInsId := ?,
                                           template (present) RequestId p_requestId := ?,
                                           template (present) CellUserInfo p_cellUserInfo := ?
    ) := {
      timeStamp    := p_timeStamp,
      appInsId     := p_appInsId,
      requestId    := p_requestId,
      cellUserInfo := p_cellUserInfo
    } // End of temlate mw_rab_info
    
    template (value) PlmnInfo m_plmn_info(
                                        in template (value) TimeStamp p_timeStamp,
                                        in AppInsId p_appInsId,
                                        in template (value) Ecgi p_ecgi
    ) := {
      timeStamp := p_timeStamp,
      appInsId  := p_appInsId,
      ecgi       := p_ecgi
    } // End of temlate m_plmn_info
    
    template (present) PlmnInfo mw_plmn_info(
                                           template (present) TimeStamp p_timeStamp := ?,
                                           template (present) AppInsId p_appInsId := ?,
                                           template (present) Ecgi p_ecgi := ?
    ) := {
      timeStamp := p_timeStamp,
      appInsId  := p_appInsId,
      ecgi       := p_ecgi
    } // End of temlate mw_plmn_info
    
    template (value) TimeStamp m_time_stamp(
                                            in UInt32 p_seconds,
                                            in UInt32 p_nanoSeconds := 0
    ) := {
      seconds     := p_seconds,
      nanoSeconds := p_nanoSeconds
    } // End of temlate m_time_stamp
    
    template (present) TimeStamp mw_time_stamp(
                                               template (present) UInt32 p_seconds := ?,
                                               template (present) UInt32 p_nanoSeconds := ?
    ) := {
      seconds     := p_seconds,
      nanoSeconds := p_nanoSeconds
    } // End of temlate mw_time_stamp
    
Yann Garcia's avatar
Yann Garcia committed
    group cell {

      template (omit) CellChangeSubscription m_cell_change_subscription(
                                                                        in template (value) CallbackReference p_callbackReference,
                                                                        in template (value) Link p_links,
                                                                        in template (value) FilterCriteriaAssocHo p_filterCriteria,
                                                                        in template (omit) TimeStamp p_expiryDeadline := omit
                                                                        ) := {
YannGarcia's avatar
YannGarcia committed
        subscriptionType  := CELL_CHANGE,
Yann Garcia's avatar
Yann Garcia committed
        callbackReference := p_callbackReference,
Yann Garcia's avatar
Yann Garcia committed
        links             := p_links,
Yann Garcia's avatar
Yann Garcia committed
        filterCriteria    := p_filterCriteria,
        expiryDeadline    := p_expiryDeadline
      } // End of template m_cell_change_subscription
      
YannGarcia's avatar
YannGarcia committed
      template (omit) CellChangeSubscription m_cell_change_subscription_wrong_subscription_type(
                                                                                                in template (value) CallbackReference p_callbackReference,
                                                                                                in template (value) Link p_links,
                                                                                                in template (value) FilterCriteriaAssocHo p_filterCriteria,
                                                                                                in template (omit) TimeStamp p_expiryDeadline := omit
                                                                                                ) modifies m_cell_change_subscription := {
        subscriptionType  := WRONG_PARAMETER
      } // End of template m_cell_change_subscription_wrong_subscription_type
      
Yann Garcia's avatar
Yann Garcia committed
      template CellChangeSubscription mw_cell_change_subscription(
                                                                  template (present) CallbackReference p_callbackReference := ?,
                                                                  template (present) Link p_links := ?,
                                                                  template (present) FilterCriteriaAssocHo p_filterCriteria := ?,
                                                                  template TimeStamp p_expiryDeadline := *
                                                                  ) := {
YannGarcia's avatar
YannGarcia committed
        subscriptionType  := CELL_CHANGE,
Yann Garcia's avatar
Yann Garcia committed
        callbackReference := p_callbackReference,
Yann Garcia's avatar
Yann Garcia committed
        links             := p_links,
Yann Garcia's avatar
Yann Garcia committed
        filterCriteria    := p_filterCriteria,
        expiryDeadline    := p_expiryDeadline
      } // End of template mw_cell_change_subscription
      
YannGarcia's avatar
YannGarcia committed
      template (value) FilterCriteriaAssocHo m_filter_criteria(
                                                               in AppInsId p_appInsId,
                                                               in template (value) AssociateId p_associateId,
                                                               in template (value) Plmn p_plmn,
                                                               in template (value) CellId p_cellId,
                                                               in HoStatus p_hoStatus
      ) := {
        appInsId    := p_appInsId,
        associateId := p_associateId,
        plmn        := p_plmn,
        cellId      := p_cellId,
        hoStatus    := p_hoStatus
      } // End of template m_filter_criteria
      
      template (present) FilterCriteriaAssocHo mw_filter_criteria(
                                                                  template (present)  AppInsId p_appInsId := ?,
                                                                  template (present) AssociateId p_associateId := ?,
                                                                  template (present) Plmn p_plmn := ?,
                                                                  template (present) CellId p_cellId := ?,
                                                                  template (present)  HoStatus p_hoStatus := ?
      ) := {
        appInsId    := p_appInsId,
        associateId := p_associateId,
        plmn        := p_plmn,
        cellId      := p_cellId,
        hoStatus    := p_hoStatus
      } // End of template mw_filter_criteria
      
      template (value) CellUserInfo m_cell_user_info(
                                                     in template (value) Ecgi p_ecgi,
                                                     in template (value) UeInfo p_ueInfo
      ) := {
        ecgi   := p_ecgi,
        ueInfo := p_ueInfo
      } // End of template m_cell_user_info
      
      template (present) CellUserInfo mw_cell_user_info(
                                                        template (present) Ecgi p_ecgi := ?,
                                                        template (present) UeInfo p_ueInfo := ?
      ) := {
        ecgi   := p_ecgi,
        ueInfo := p_ueInfo
      } // End of template mw_cell_user_info
      
      template (value) AssociateId_ m_associate_id(
                                                   in AssociateId_type p_type_,
                                                   in UInt32 p_value_
      ) := {
        type_  := p_type_,
        value_ := p_value_
      } // End of template m_associate_id
      
      template (present) AssociateId_ mw_associate_id(
                                                      template (present) AssociateId_type p_type_ := ?,
                                                      template (present) UInt32 p_value_ := ?
      ) := {
        type_  := p_type_,
        value_ := p_value_
      } // End of template mw_associate_id
      
      template (value) Ecgi m_ecgi(
                                   in template (value) Plmn p_plmn,
                                   in template (value) CellId p_cellId
      ) := {
        plmn  := p_plmn,
        cellId := p_cellId
      } // End of template m_ecgi
      
      template (present) Ecgi mw_ecgi(
                                   in template (present) Plmn p_plmn := ?,
                                   in template (present) CellId p_cellId := ?
      ) := {
        plmn  := p_plmn,
        cellId := p_cellId
      } // 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
      
Yann Garcia's avatar
Yann Garcia committed
    } // End of group cell
    
  } // End of group subscriptions
Yann Garcia's avatar
Yann Garcia committed
  
YannGarcia's avatar
YannGarcia committed
  
Yann Garcia's avatar
Yann Garcia committed
} // End of module RnisAPI_Templates