Changeset 107 for uKadecot/trunk/kadecot/wamp.c
- Timestamp:
- Jun 10, 2015, 8:40:31 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uKadecot/trunk/kadecot/wamp.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêĢ鱯D 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL 17 * Ì³ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 46 42 #include "main.h" 47 43 48 /* p[XG[iè`ÌÝj*/44 /* パースエラー(定義のみ) */ 49 45 const char parse_error[] = "com.sonycsl.kadecot.plugin.echonetlite.error.parse_error"; 50 /* ³øÈNGXgiè`ÌÝj*/46 /* 無効なリクエスト(定義のみ) */ 51 47 const char invalid_request[] = "com.sonycsl.kadecot.plugin.echonetlite.error.invalid_request"; 52 /* ¶ÝµÈ¢\bhiè`ÌÝj*/48 /* 存在しないメソッド(定義のみ) */ 53 49 const char method_not_found[] = "com.sonycsl.kadecot.plugin.echonetlite.error.method_not_found"; 54 /* echo object ª¶ÝµÈ¢,@JSONArray`®ÉÈÁĢȢ*/50 /* echo objectが存在しない, JSONArray形式になっていない */ 55 51 const char invalid_params[] = "com.sonycsl.kadecot.plugin.echonetlite.error.invalid_params"; 56 /* ^CAEg¶, R[obNª@null*/52 /* タイムアウト発生, コールバックが null*/ 57 53 const char internal_error[] = "com.sonycsl.kadecot.plugin.echonetlite.error.internal_error"; 58 54 … … 278 274 279 275 if (s->state == WAMP_PARSE_STATE_ERROR) { 280 /* WAMP bZ[WÌÅã¾Á½ç*/276 /* WAMPメッセージの最後だったら */ 281 277 if ((state->level == 1) && (action == JSONSL_ACTION_POP) 282 278 && (state->type == JSONSL_T_LIST)) { … … 300 296 struct jsonsl_state_st *state, const char *buf) 301 297 { 302 /* WAMP bZ[WÌæª¾Á½ç*/298 /* WAMPメッセージの先頭だったら */ 303 299 if ((state->level == 1) && (action == JSONSL_ACTION_PUSH) 304 300 && (state->type == JSONSL_T_LIST)) { 305 /* bZ[WR[hæ¾JnóÔÉÚé*/301 /* メッセージコード取得開始状態に移る */ 306 302 s->state = WAMP_PARSE_STATE_CODE_PUSH; 307 303 } … … 311 307 struct jsonsl_state_st *state, const char *buf) 312 308 { 313 /* bZ[WR[hÌæ¾Jn*/309 /* メッセージコードの取得開始 */ 314 310 if ((action == JSONSL_ACTION_PUSH) 315 311 && (state->type == JSONSL_T_SPECIAL)) { 316 /* bZ[WR[hæ¾óÔÉÚé*/312 /* メッセージコード取得状態に移る */ 317 313 s->state = WAMP_PARSE_STATE_CODE_POP; 318 314 } 319 315 else 320 /* bZ[WR[hªæ¾Å«È¯êÎG[*/316 /* メッセージコードが取得できなければエラー */ 321 317 s->state = WAMP_PARSE_STATE_ERROR; 322 318 } … … 328 324 wamp_parse_state_t prsst = WAMP_PARSE_STATE_ERROR; 329 325 330 /* bZ[WR[hªæ¾Å«*/326 /* メッセージコードが取得でき */ 331 327 if ((action == JSONSL_ACTION_POP) 332 328 && (state->type == JSONSL_T_SPECIAL)) { 333 /* bZ[WR[hðæ¾*/329 /* メッセージコードを取得 */ 334 330 code = atoi(s->jsn_buf); 335 331 switch (code) { … … 531 527 } 532 528 533 /* mÁÄ¢ébZ[WR[h¾Á½ç*/529 /* 知っているメッセージコードだったら */ 534 530 if (s->proc_handler != NULL) { 535 /* p[^æ¾óÔÉÚé*/531 /* パラメータ取得状態に移る */ 536 532 s->code = (wamp_code_t)code; 537 533 } 538 534 } 539 535 540 /* bZ[WR[hªæ¾Å«È¯êÎG[*/536 /* メッセージコードが取得できなければエラー */ 541 537 s->state = prsst; 542 538 } … … 545 541 struct jsonsl_state_st *state, const char *buf) 546 542 { 547 /* bZ[WR[hÌæ¾Jn*/543 /* メッセージコードの取得開始 */ 548 544 if ((action == JSONSL_ACTION_PUSH) 549 545 && (state->type == JSONSL_T_SPECIAL)) { 550 546 s->param_handler(s, action, s->prmst, NULL); 551 /* bZ[WR[hæ¾óÔÉÚé*/547 /* メッセージコード取得状態に移る */ 552 548 s->state = WAMP_PARSE_STATE_PARAM; 553 549 } 554 550 else 555 /* bZ[WR[hªæ¾Å«È¯êÎG[*/551 /* メッセージコードが取得できなければエラー */ 556 552 s->state = WAMP_PARSE_STATE_ERROR; 557 553 } … … 560 556 struct jsonsl_state_st *state, const char *buf) 561 557 { 562 /* bZ[WR[hÌæ¾Jn*/558 /* メッセージコードの取得開始 */ 563 559 if ((action == JSONSL_ACTION_PUSH) 564 560 && (state->type == JSONSL_T_LIST)) { 565 561 s->param_handler(s, action, s->prmst, NULL); 566 /* bZ[WR[hæ¾óÔÉÚé*/562 /* メッセージコード取得状態に移る */ 567 563 s->state = WAMP_PARSE_STATE_PARAM; 568 564 } 569 565 else 570 /* bZ[WR[hªæ¾Å«È¯êÎG[*/566 /* メッセージコードが取得できなければエラー */ 571 567 s->state = WAMP_PARSE_STATE_ERROR; 572 568 } … … 575 571 struct jsonsl_state_st *state, const char *buf) 576 572 { 577 /* bZ[WR[hÌæ¾Jn*/573 /* メッセージコードの取得開始 */ 578 574 if ((action == JSONSL_ACTION_PUSH) 579 575 && (state->type == JSONSL_T_OBJECT)) { 580 576 s->param_handler(s, action, s->prmst, NULL); 581 /* bZ[WR[hæ¾óÔÉÚé*/577 /* メッセージコード取得状態に移る */ 582 578 s->state = WAMP_PARSE_STATE_PARAM; 583 579 } 584 580 else 585 /* bZ[WR[hªæ¾Å«È¯êÎG[*/581 /* メッセージコードが取得できなければエラー */ 586 582 s->state = WAMP_PARSE_STATE_ERROR; 587 583 } … … 590 586 struct jsonsl_state_st *state, const char *buf) 591 587 { 592 /* bZ[WR[hÌæ¾Jn*/588 /* メッセージコードの取得開始 */ 593 589 if ((action == JSONSL_ACTION_PUSH) 594 590 && (state->type == JSONSL_T_STRING)) { 595 591 s->param_handler(s, action, s->prmst, NULL); 596 /* bZ[WR[hæ¾óÔÉÚé*/592 /* メッセージコード取得状態に移る */ 597 593 s->state = WAMP_PARSE_STATE_PARAM; 598 594 } 599 595 else 600 /* bZ[WR[hªæ¾Å«È¯êÎG[*/596 /* メッセージコードが取得できなければエラー */ 601 597 s->state = WAMP_PARSE_STATE_ERROR; 602 598 } … … 605 601 struct jsonsl_state_st *state, const char *buf) 606 602 { 607 /* bZ[WR[hÌæ¾Jn*/603 /* メッセージコードの取得開始 */ 608 604 if ((action == JSONSL_ACTION_PUSH) 609 605 && (state->type == JSONSL_T_SPECIAL)) { 610 606 s->param_handler(s, action, s->prmst, NULL); 611 /* bZ[WR[hæ¾óÔÉÚé*/607 /* メッセージコード取得状態に移る */ 612 608 s->state = WAMP_PARSE_STATE_PARAM; 613 609 } 614 610 else 615 /* bZ[WR[hªæ¾Å«È¯êÎG[*/611 /* メッセージコードが取得できなければエラー */ 616 612 s->state = WAMP_PARSE_STATE_ERROR; 617 613 } … … 620 616 struct jsonsl_state_st *state, const char *buf) 621 617 { 622 /* bZ[WR[hÌæ¾Jn*/618 /* メッセージコードの取得開始 */ 623 619 if ((action == JSONSL_ACTION_PUSH) 624 620 && (state->type == JSONSL_T_STRING)) { 625 621 s->param_handler(s, action, s->prmst, NULL); 626 /* bZ[WR[hæ¾óÔÉÚé*/622 /* メッセージコード取得状態に移る */ 627 623 s->state = WAMP_PARSE_STATE_PARAM; 628 624 } 629 625 else 630 /* bZ[WR[hªæ¾Å«È¯êÎG[*/626 /* メッセージコードが取得できなければエラー */ 631 627 s->state = WAMP_PARSE_STATE_ERROR; 632 628 } … … 635 631 struct jsonsl_state_st *state, const char *buf) 636 632 { 637 /* R[h²ÆÌðÀs*/633 /* コードごとの処理を実行 */ 638 634 s->proc_handler(s, action, state, buf); 639 635 640 /* WAMP bZ[WÌö¾Á½ç*/636 /* WAMPメッセージの末尾だったら */ 641 637 if ((state->level == 1) && (action == JSONSL_ACTION_POP) 642 638 && (state->type == JSONSL_T_LIST)) { … … 644 640 s->message_close_handler(s); 645 641 jsonsl_reset((jsonsl_t)s->jsn); 646 /* Ò@óÔÉÚé*/642 /* 待機状態に移る */ 647 643 s->state = WAMP_PARSE_STATE_IDLE; 648 644 } … … 652 648 struct jsonsl_state_st *state, const char *buf) 653 649 { 654 /* WAMP bZ[WÌö¾Á½ç*/650 /* WAMPメッセージの末尾だったら */ 655 651 if ((state->level == 1) && (action == JSONSL_ACTION_POP) 656 652 && (state->type == JSONSL_T_LIST)) { 657 653 s->message_close_handler(s); 658 654 jsonsl_reset((jsonsl_t)s->jsn); 659 /* Ò@óÔÉÚé*/655 /* 待機状態に移る */ 660 656 s->state = WAMP_PARSE_STATE_IDLE; 661 657 } 662 658 else 663 /* bZ[WR[hªæ¾Å«È¯êÎG[*/659 /* メッセージコードが取得できなければエラー */ 664 660 s->state = WAMP_PARSE_STATE_ERROR; 665 661 } -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.