LibItsGeoNetworking_Templates.ttcn 86.4 KB
Newer Older
berge's avatar
berge committed
        function f_adaptPayload_m(in octetstring p_finalPayload) return template (value) Payload {
tepelmann's avatar
tepelmann committed
            var template (value) Payload v_payload;
            
            if(PX_GN_UPPER_LAYER == e_any) {
               v_payload := { decodedPayload := omit, rawPayload := p_finalPayload};
               return v_payload;	
            }
            
            if(PX_GN_UPPER_LAYER == e_ipv6) {
               v_payload := { decodedPayload := { ipv6Packet := m_ipv6Packet(c_unspecified, c_allNodesMca, c_noNextHdr, m_octetstringPayload(p_finalPayload))}, rawPayload := ''O};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            if(PX_GN_UPPER_LAYER == e_btpA) {
               v_payload := { decodedPayload := { btpPacket := m_btpA({ decodedPayload := omit, rawPayload := p_finalPayload })}, rawPayload := ''O};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            if(PX_GN_UPPER_LAYER == e_btpB) {
               v_payload := { decodedPayload := { btpPacket := m_btpB({ decodedPayload := omit, rawPayload := p_finalPayload })}, rawPayload := ''O};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            return v_payload;
berge's avatar
berge committed
        function f_adaptPayload_mw(in template (present) octetstring p_finalPayload) return template (present) Payload {
            var template (present) Payload v_payload;
            
            if(PX_GN_UPPER_LAYER == e_any) {
               v_payload := { decodedPayload := *, rawPayload := p_finalPayload};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            if(PX_GN_UPPER_LAYER == e_ipv6) {
               v_payload := { decodedPayload := { ipv6Packet := mw_ipv6Packet(?, ?, ?, mw_octetstringPayload(p_finalPayload))}, rawPayload := ''O};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            if(PX_GN_UPPER_LAYER == e_btpA) {
               v_payload := { decodedPayload := { btpPacket := mw_btpA(?, ?, { decodedPayload := *, rawPayload := p_finalPayload } )}, rawPayload := ''O};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            if(PX_GN_UPPER_LAYER == e_btpB) {
               v_payload := { decodedPayload := { btpPacket := mw_btpB(?, ?, { decodedPayload := *, rawPayload := p_finalPayload })}, rawPayload := ''O};
tepelmann's avatar
tepelmann committed
               return v_payload;
berge's avatar
berge committed
            }
            
            return v_payload;
berge's avatar
berge committed
    } // end geoTemplateFunctions
    
berge's avatar
berge committed
} // end ItsGeoNetworking_Templates