Router_Cloud

一: cwmp.c

1: main

  (1) cmsLog_init();    //日志初始化

  (2) cmsMsg_init();   //消息初始化

      (3) cwmpInit();       //为variable cwmp赋初值。

  (4) getStaticValuesFromLocal();  //init cloudData about device.

  (5) retrieveCloudcStatusItmes();  //

      (6) while() 

              {

              a. 根据msg->type 和 msg->wordData执行 cwmp_handle_event。

              b. CMSMEM_FREE_BUF_AND_NULL_PTR(msg);

              c. if ( cloudState.unhandledEvent == 0)  continue;

              d. if ( cloudGetWanInfo() == -1) break;  初始化cloudData的WAN口相关信息。

              e. if ( cwmpInitAfterWanUp() == CWMP_ERR) continue; 在WanUp后为cwmp的parameter赋值。

              f. if ( getChangeAbleValuesFromLocal() == -1) continue; 获取一些本地Cloud Object的信息, 并传到cloudData中。

              g. cwmpPrepareParameters();   为gInformList和parList赋值。

              h. if ( cwmp_inform() != CWMP_OK) break;                 //建立与acs之间连接, 发包, 传送cwmp相关信息。

              i. while( !cwmp.sessionFlag)                                      //根据ACS response, 确定是否要再次发包, 及修改本地信息和修改连接状态。

              j. do_finish();                  //free data for response parse result。

             }

      (7) out:

                     cmsMdm_cleanup();

                     cmsMsg_cleanup();

             return 0;

2.  do_finish ()                  good

     //free data for response parse result.

3. url_parse ()                  good

   对cwmp.url作分析, 填充cwmp.host, cwmp.port, cwmp.page.

 

4. void cwmp_push_event(uint8_t code)               good

    根据code值, 对cloudState.unhandledEvents 进行赋值。

 

5. int cwmp_connect_acs(void)                          good

    (1) cwmp.txFd = raw_connect( cwmp.addr, cwmp.port, cwmp.connectTimeOutMs)   

         返回socket 获取的File Descriptor.

 

6. int cwmp_disconnect(void)                           good

       close(cwmp.txFd)                        //关闭txFd.

      cwmp.txFd = CWMP_INVALID_SOCKET.     -1

 

7.  int cwmpInit( char *connUrl)      good  为variable cwmp赋初值。

     (1) strcpy(cwmp.url, connUrl);        对cwmp.url进行赋值

     .... 对 cwmp的parameter进行赋值。

 

8. int cwmpInitAfterWanUp()         good                            在WanUp后为cwmp的parameter赋值。

    (1) url_parse( cwmp.url, cwmp.host, &cwmp.port, cwmp.http.page);

    (2)  对cwmp相关parameter进行赋值,

          return CWMP_OK;

 

9. void mac_to_string(char *macstring, char *objstring)     这个函数没有用到?

    将macstring中的':' 去掉, 拷贝到objstring中。 

 

10. 

     

 

posted @ 2014-04-16 14:41  安心种田  阅读(297)  评论(0编辑  收藏  举报