Ignore:
Timestamp:
Jun 10, 2015, 8:40:31 PM (9 years ago)
Author:
coas-nagasima
Message:

SHIFT_JISのコードにcharsetプロパティを付けた

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/kadecot/wamp.c

    • Property svn:mime-type changed from text/plain to text/plain; charset=SHIFT_JIS
    r101 r107  
    44 *  Copyright (C) 2015 Cores Co., Ltd. Japan
    55 *
    6  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    7  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    8  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    9  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    10  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    11  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    12  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    13  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    14 ƒƒ“ƒgi—˜—p
    15  *      ŽÒƒ}ƒjƒ
    16 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    17  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    18  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    19  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    20  *      ‚ƁD
    21  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    22 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    23 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    24  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    25  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    26  *        •ñ‚·‚邱‚ƁD
    27  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    28  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    29  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    30  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    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 *      免責すること.
    3228 *
    33  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    34  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    35  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    36  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    37  *  ‚̐ӔC‚𕉂í‚È‚¢D
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     31 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     32 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     33 *  の責任を負わない.
    3834 *
    3935 *  @(#) $Id$
     
    4642#include "main.h"
    4743
    48 /* ƒp[ƒXƒGƒ‰[i’è‹`‚̂݁j */
     44/* パースエラー(定義のみ) */
    4945const char parse_error[] = "com.sonycsl.kadecot.plugin.echonetlite.error.parse_error";
    50 /* –³Œø‚ȃŠƒNƒGƒXƒgi’è‹`‚̂݁j */
     46/* 無効なリクエスト(定義のみ) */
    5147const char invalid_request[] = "com.sonycsl.kadecot.plugin.echonetlite.error.invalid_request";
    52 /* ‘¶Ý‚µ‚È‚¢ƒƒ\ƒbƒhi’è‹`‚̂݁j */
     48/* 存在しないメソッド(定義のみ) */
    5349const char method_not_found[] = "com.sonycsl.kadecot.plugin.echonetlite.error.method_not_found";
    54 /* echo object‚ª‘¶Ý‚µ‚È‚¢,@JSONArrayŒ`Ž®‚É‚È‚Á‚Ä‚¢‚È‚¢ */
     50/* echo objectが存在しない, JSONArray形式になっていない */
    5551const char invalid_params[] = "com.sonycsl.kadecot.plugin.echonetlite.error.invalid_params";
    56 /* ƒ^ƒCƒ€ƒAƒEƒg”­¶, ƒR[ƒ‹ƒoƒbƒN‚ª@null*/
     52/* タイムアウト発生, コールバックが null*/
    5753const char internal_error[] = "com.sonycsl.kadecot.plugin.echonetlite.error.internal_error";
    5854
     
    278274
    279275        if (s->state == WAMP_PARSE_STATE_ERROR) {
    280                 /* WAMPƒƒbƒZ[ƒW‚̍Ōゾ‚Á‚½‚ç */
     276                /* WAMPメッセージの最後だったら */
    281277                if ((state->level == 1) && (action == JSONSL_ACTION_POP)
    282278                        && (state->type == JSONSL_T_LIST)) {
     
    300296        struct jsonsl_state_st *state, const char *buf)
    301297{
    302         /* WAMPƒƒbƒZ[ƒW‚̐擪‚¾‚Á‚½‚ç */
     298        /* WAMPメッセージの先頭だったら */
    303299        if ((state->level == 1) && (action == JSONSL_ACTION_PUSH)
    304300                && (state->type == JSONSL_T_LIST)) {
    305                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ŠJŽnó‘ԂɈڂé */
     301                /* メッセージコード取得開始状態に移る */
    306302                s->state = WAMP_PARSE_STATE_CODE_PUSH;
    307303        }
     
    311307        struct jsonsl_state_st *state, const char *buf)
    312308{
    313         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     309        /* メッセージコードの取得開始 */
    314310        if ((action == JSONSL_ACTION_PUSH)
    315311                && (state->type == JSONSL_T_SPECIAL)) {
    316                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     312                /* メッセージコード取得状態に移る */
    317313                s->state = WAMP_PARSE_STATE_CODE_POP;
    318314        }
    319315        else
    320                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     316                /* メッセージコードが取得できなければエラー */
    321317                s->state = WAMP_PARSE_STATE_ERROR;
    322318}
     
    328324        wamp_parse_state_t prsst = WAMP_PARSE_STATE_ERROR;
    329325
    330         /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚« */
     326        /* メッセージコードが取得でき */
    331327        if ((action == JSONSL_ACTION_POP)
    332328                && (state->type == JSONSL_T_SPECIAL)) {
    333                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ðŽæ“¾ */
     329                /* メッセージコードを取得 */
    334330                code = atoi(s->jsn_buf);
    335331                switch (code) {
     
    531527                }
    532528
    533                 /* ’m‚Á‚Ä‚¢‚郁ƒbƒZ[ƒWƒR[ƒh‚¾‚Á‚½‚ç */
     529                /* 知っているメッセージコードだったら */
    534530                if (s->proc_handler != NULL) {
    535                         /* ƒpƒ‰ƒ[ƒ^Žæ“¾ó‘ԂɈڂé */
     531                        /* パラメータ取得状態に移る */
    536532                        s->code = (wamp_code_t)code;
    537533                }
    538534        }
    539535
    540         /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     536        /* メッセージコードが取得できなければエラー */
    541537        s->state = prsst;
    542538}
     
    545541        struct jsonsl_state_st *state, const char *buf)
    546542{
    547         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     543        /* メッセージコードの取得開始 */
    548544        if ((action == JSONSL_ACTION_PUSH)
    549545                && (state->type == JSONSL_T_SPECIAL)) {
    550546                s->param_handler(s, action, s->prmst, NULL);
    551                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     547                /* メッセージコード取得状態に移る */
    552548                s->state = WAMP_PARSE_STATE_PARAM;
    553549        }
    554550        else
    555                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     551                /* メッセージコードが取得できなければエラー */
    556552                s->state = WAMP_PARSE_STATE_ERROR;
    557553}
     
    560556        struct jsonsl_state_st *state, const char *buf)
    561557{
    562         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     558        /* メッセージコードの取得開始 */
    563559        if ((action == JSONSL_ACTION_PUSH)
    564560                && (state->type == JSONSL_T_LIST)) {
    565561                s->param_handler(s, action, s->prmst, NULL);
    566                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     562                /* メッセージコード取得状態に移る */
    567563                s->state = WAMP_PARSE_STATE_PARAM;
    568564        }
    569565        else
    570                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     566                /* メッセージコードが取得できなければエラー */
    571567                s->state = WAMP_PARSE_STATE_ERROR;
    572568}
     
    575571        struct jsonsl_state_st *state, const char *buf)
    576572{
    577         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     573        /* メッセージコードの取得開始 */
    578574        if ((action == JSONSL_ACTION_PUSH)
    579575                && (state->type == JSONSL_T_OBJECT)) {
    580576                s->param_handler(s, action, s->prmst, NULL);
    581                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     577                /* メッセージコード取得状態に移る */
    582578                s->state = WAMP_PARSE_STATE_PARAM;
    583579        }
    584580        else
    585                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     581                /* メッセージコードが取得できなければエラー */
    586582                s->state = WAMP_PARSE_STATE_ERROR;
    587583}
     
    590586        struct jsonsl_state_st *state, const char *buf)
    591587{
    592         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     588        /* メッセージコードの取得開始 */
    593589        if ((action == JSONSL_ACTION_PUSH)
    594590                && (state->type == JSONSL_T_STRING)) {
    595591                s->param_handler(s, action, s->prmst, NULL);
    596                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     592                /* メッセージコード取得状態に移る */
    597593                s->state = WAMP_PARSE_STATE_PARAM;
    598594        }
    599595        else
    600                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     596                /* メッセージコードが取得できなければエラー */
    601597                s->state = WAMP_PARSE_STATE_ERROR;
    602598}
     
    605601        struct jsonsl_state_st *state, const char *buf)
    606602{
    607         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     603        /* メッセージコードの取得開始 */
    608604        if ((action == JSONSL_ACTION_PUSH)
    609605                && (state->type == JSONSL_T_SPECIAL)) {
    610606                s->param_handler(s, action, s->prmst, NULL);
    611                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     607                /* メッセージコード取得状態に移る */
    612608                s->state = WAMP_PARSE_STATE_PARAM;
    613609        }
    614610        else
    615                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     611                /* メッセージコードが取得できなければエラー */
    616612                s->state = WAMP_PARSE_STATE_ERROR;
    617613}
     
    620616        struct jsonsl_state_st *state, const char *buf)
    621617{
    622         /* ƒƒbƒZ[ƒWƒR[ƒh‚̎擾ŠJŽn */
     618        /* メッセージコードの取得開始 */
    623619        if ((action == JSONSL_ACTION_PUSH)
    624620                && (state->type == JSONSL_T_STRING)) {
    625621                s->param_handler(s, action, s->prmst, NULL);
    626                 /* ƒƒbƒZ[ƒWƒR[ƒhŽæ“¾ó‘ԂɈڂé */
     622                /* メッセージコード取得状態に移る */
    627623                s->state = WAMP_PARSE_STATE_PARAM;
    628624        }
    629625        else
    630                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     626                /* メッセージコードが取得できなければエラー */
    631627                s->state = WAMP_PARSE_STATE_ERROR;
    632628}
     
    635631        struct jsonsl_state_st *state, const char *buf)
    636632{
    637         /* ƒR[ƒh‚²‚Ƃ̏ˆ—‚ðŽÀs */
     633        /* コードごとの処理を実行 */
    638634        s->proc_handler(s, action, state, buf);
    639635
    640         /* WAMPƒƒbƒZ[ƒW‚Ì––”ö‚¾‚Á‚½‚ç */
     636        /* WAMPメッセージの末尾だったら */
    641637        if ((state->level == 1) && (action == JSONSL_ACTION_POP)
    642638                && (state->type == JSONSL_T_LIST)) {
     
    644640                s->message_close_handler(s);
    645641                jsonsl_reset((jsonsl_t)s->jsn);
    646                 /* ‘Ò‹@ó‘ԂɈڂé */
     642                /* 待機状態に移る */
    647643                s->state = WAMP_PARSE_STATE_IDLE;
    648644        }
     
    652648        struct jsonsl_state_st *state, const char *buf)
    653649{
    654         /* WAMPƒƒbƒZ[ƒW‚Ì––”ö‚¾‚Á‚½‚ç */
     650        /* WAMPメッセージの末尾だったら */
    655651        if ((state->level == 1) && (action == JSONSL_ACTION_POP)
    656652                && (state->type == JSONSL_T_LIST)) {
    657653                s->message_close_handler(s);
    658654                jsonsl_reset((jsonsl_t)s->jsn);
    659                 /* ‘Ò‹@ó‘ԂɈڂé */
     655                /* 待機状態に移る */
    660656                s->state = WAMP_PARSE_STATE_IDLE;
    661657        }
    662658        else
    663                 /* ƒƒbƒZ[ƒWƒR[ƒh‚ªŽæ“¾‚Å‚«‚È‚¯‚ê‚΃Gƒ‰[ */
     659                /* メッセージコードが取得できなければエラー */
    664660                s->state = WAMP_PARSE_STATE_ERROR;
    665661}
Note: See TracChangeset for help on using the changeset viewer.