Logo Search packages:      
Sourcecode: g2ipmsg version File versions  Download package

static int ipmsg_protocol_user_opration ( const udp_con_t *  con,
const msg_data_t *  msg,
const int  op_type 
) [static]

ユーザ情報更新要求を処理する

Parameters:
[in] con UDPコネクション情報
[in] msg 受信メッセージ情報
[in] op_type 操作種別
Return values:
0 正常終了
-EINVAL 引数異常
-ENOMEM メモリ不足

Definition at line 939 of file protocol.c.

References IPMSG_PROTOCOL_ADD_WITH_HOSTLIST, IPMSG_PROTOCOL_USR_ADD, IPMSG_PROTOCOL_USR_DEL, and IPMSG_PROTOCOL_USR_UPDATE.

Referenced by ipmsg_proc_ans_entry(), ipmsg_proc_anslist(), ipmsg_proc_br_absence(), ipmsg_proc_br_entry(), and ipmsg_proc_br_exit().

                       {
      int rc = 0;

      g_assert( (con != NULL) && (msg != NULL) ); /* 呼び出し元責任で確認 */

      
      switch(op_type) {
      case IPMSG_PROTOCOL_USR_ADD: /* ユーザ追加 */
            rc = userdb_add_user(con, msg);
            /* 既にユーザが存在する場合は, 
             * ユーザ情報更新処理に移行し, それ以外の場合は, 復帰する.
             */
            if (rc != -EEXIST) 
                  break;
            /* fall through */
      case IPMSG_PROTOCOL_USR_UPDATE: /* ユーザ情報更新  */
            rc = userdb_update_user(con, msg);
            break;
      case IPMSG_PROTOCOL_USR_DEL:  /* ユーザ情報削除  */
            rc = userdb_del_user(con, msg);
            break;
      case IPMSG_PROTOCOL_ADD_WITH_HOSTLIST: /* ホストリストによる追加 */
            rc = userdb_hostlist_answer_add(con, msg);
            break;            
      default:
            break;
      }

      userdb_print_user_list();

      return rc;
}


Generated by  Doxygen 1.6.0   Back to index