/* * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * License: BSD * This file is part of Open Source sipML5 solution <http://www.sipml5.org> */ tsdp_header_Dummy.prototype = Object.create(tsdp_header.prototype); %%{ machine tsdp_machine_parser_header_Dummy; # Includes include tsdp_machine_utils "./tsdp_machine_utils.jrl"; action tag{ i_tag_start = p; } action parse_name{ hdr_Dummy.c_name = s_str[i_tag_start]; } action parse_value{ hdr_Dummy.s_value = tsk_ragel_parser_get_string(s_str, p, i_tag_start); } Dummy = alpha>tag %parse_name SP* "=" SP*<: js_any*>tag %parse_value; # Entry point main := Dummy :>CRLF?; }%% %%write data; function tsdp_header_Dummy(c_name, s_value){ tsdp_header.call(this, tsdp_header_type_e.DUMMY); this.c_name = c_name; this.s_value = s_value; } tsdp_header_Dummy.prototype.toString = function(){ return this.s_value; } tsdp_header_Dummy.prototype.Parse = function(s_str){ var cs = 0; var p = 0; var pe = s_str.length; var eof = pe; var data = tsk_buff_str2ib(s_str); var i_tag_start; var hdr_Dummy = new tsdp_header_Dummy('*', null); %%write init; %%write exec; if( cs < %%{ write first_final; }%% ){ tsk_utils_log_error("Failed to parse 'Dummy' header: " + s_str); return null; } return hdr_Dummy; }