[Bugfix][T106BUG-421]Optimize  poweralarm demo code

Only Configure: No
Affected branch: master
Affected module: Rtc
Is it affected on both ZXIC and MTK:only zxic
Self-test: Yes
Doc Update:Yes

Change-Id: Ibf5cb1db8833cb2120ddbe56a1bf84aafca421bc
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp
index 75da1e1..2e0f71f 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp
@@ -6,12 +6,16 @@
 #include <dlfcn.h>

 #include <stdint.h>

 

+

+#define INIT_SUCCESS    0

+

 typedef struct

 {

     int  cmdIdx;

     char *funcName;

 } st_api_test_case;

-    

+

+

 //for server test

 st_api_test_case at_api_testcases[] = 

 {

@@ -26,7 +30,10 @@
     {-1,    NULL}

 };

 

-int src_id = -1;

+ int init_flag = -1;

+ int src_id = -1;

+ void *dlHandle_poweralarm = NULL;

+ 

 typedef int (*lynq_wakealarm_add_cb)(unsigned int src_id, int rtc_id);

 

 int (*lynq_rtc_service_init)(void);

@@ -37,7 +44,6 @@
 int (*lynq_set_poweralarm)(unsigned long time_sec,int src_id);

 int (*lynq_set_wakealarm)(unsigned long time_sec,int srcid,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify);

 

-void *dlHandle_poweralarm = NULL;

 

 

 void print_help(void)

@@ -125,6 +131,7 @@
     print_help();

     while(1)

     {

+        

         printf("\nplease input cmd index(-1 exit): ");

         scanf("%d", &cmdIdx);

         if(cmdIdx == -1)

@@ -139,92 +146,145 @@
             case 1:

                 {

                     src_id = lynq_rtc_service_init();

+                    if(src_id <= 0)

+                    {

+

+                        printf("RTC service init failed ");

+                        return -1;

+                    }

+                    else

+                    {

+                        init_flag = INIT_SUCCESS;

+                    }

+                    

                     break;

                 }

             case 2:

                 {

-                    int ret = 0;

-                    char tmp_time[32] = {0};

-                    printf("Set poweralarm time,e.g: 60 (seconds)\n");

-                    scanf("%s",tmp_time);

-                    ret = poweralarm(tmp_time,src_id);

-                    if(ret != 0)

+                    

+                    if(init_flag != INIT_SUCCESS)

                     {

-                        printf("set poweralarm failed\n");

-                        return -1;

+                        printf("*****ERROR must init rtc service ,Please reselect *******\n ");

+                    }

+                    else

+                    {

+                        int ret = 0;

+                        char tmp_time[32] = {0};

+                        printf("Set poweralarm time,e.g: 60 (seconds)\n");

+                        scanf("%s",tmp_time);

+                        ret = poweralarm(tmp_time,src_id);

+                        if(ret != 0)

+                        {

+                            printf("set poweralarm failed\n");

+                            return -1;

+                        }

                     }

                 break;

                 }

             case 3:

                 {

-                    int ret = 0;

-                    char tmp_time[32]={0};

-                    int rtc_id = 0;

-                    printf("Set wakealarm time ,e.g: 60  1 (seconds)\n");

-                    scanf("%s%d",tmp_time,&rtc_id);

-                   

-                    ret = wakealarm(tmp_time,src_id,rtc_id,lynq_wakealarm_add_callback);

-                    if(ret != 0)

+                    if(init_flag != INIT_SUCCESS)

                     {

-                        printf("set wakealarm failed\n");

-                        return -1;

+                        printf("*****ERROR must init rtc service ,Please reselect *******\n ");

+                    }

+                    else

+                    {

+                        int ret = 0;

+                        char tmp_time[32]={0};

+                        int rtc_id = 0;

+                        printf("Set wakealarm time ,e.g: 60  1 (seconds)\n");

+                        scanf("%s%d",tmp_time,&rtc_id);

+                   

+                        ret = wakealarm(tmp_time,src_id,rtc_id,lynq_wakealarm_add_callback);

+                        if(ret != 0)

+                        {

+                            printf("set wakealarm failed\n");

+                            return -1;

+                        }

                     }

                     break;

                 }

              case 4:

                 {

-                    int ret = 0;

-                    int rtc_id = 0;

-                    printf("Please input you want cancel rtc timer rtc id\n");

-                    scanf("%d",&rtc_id);

-                    ret = cancel_wakealarm(src_id,rtc_id);

-                    if(ret != 0)

+                    if(init_flag != INIT_SUCCESS)

                     {

-                        printf("Cancel_wakealarm failed!!!");

-                        return -1;

+                        printf("*****ERROR must init rtc service ,Please reselect *******\n ");

+                    }

+                    else

+                    {

+                        int ret = 0;

+                        int rtc_id = 0;

+                        printf("Please input you want cancel rtc timer rtc id\n");

+                        scanf("%d",&rtc_id);

+                        ret = cancel_wakealarm(src_id,rtc_id);

+                        if(ret != 0)

+                        {

+                            printf("Cancel_wakealarm failed!!!");

+                            return -1;

+                        }

                     }

                     break;

                 }

              case 5:

                 { 

-                   int ret = 0; 

-                   unsigned long time_sec = 0;

-                   printf("Input time_sec you want poweralarm,e.g: 60 (seconds)\n");

-                   scanf("%lu",&time_sec);

-                   ret =lynq_set_poweralarm(time_sec,src_id);

-                   printf("ret is %d\n",ret);

-                   if(ret != 0)

-                   {

-                        printf("lynq_set_poweralarm failed\n");

-                        return -1;

-                   }

+                    if(init_flag != INIT_SUCCESS)

+                    {

+                        printf("*****ERROR must init rtc service ,Please reselect *******\n ");

+                    }

+                    else

+                    {

+                        int ret = 0; 

+                        unsigned long time_sec = 0;

+                        printf("Input time_sec you want poweralarm,e.g: 60 (seconds)\n");

+                        scanf("%lu",&time_sec);

+                        ret =lynq_set_poweralarm(time_sec,src_id);

+                        printf("ret is %d\n",ret);

+                        if(ret != 0)

+                        {

+                            printf("lynq_set_poweralarm failed\n");

+                            return -1;

+                        }

+                    }

                    break;

                 }

             case 6:

-                 { 

-                   int ret = 0; 

-                   unsigned long time_sec = 0;

-                   int rtc_id;

-                   printf("Input time_sec you want wakealarm,e.g:60  1(seconds)\n");

-                   scanf("%lu%d",&time_sec,&rtc_id);

-                   ret =lynq_set_wakealarm(time_sec,src_id,rtc_id,lynq_wakealarm_add_callback);

-                   if(ret != 0)

-                   {

-                        printf("lynq_set_wakealarm failed\n");

-                        return -1;

+                { 

+                    if(init_flag != INIT_SUCCESS)

+                    {

+                        printf("*****ERROR must init rtc service ,Please reselect *******\n ");

                    }

+                   else

+                   {

+                        int ret = 0; 

+                        unsigned long time_sec = 0;

+                        int rtc_id;

+                        printf("Input time_sec you want wakealarm,e.g:60  1(seconds)\n");

+                        scanf("%lu%d",&time_sec,&rtc_id);

+                        ret =lynq_set_wakealarm(time_sec,src_id,rtc_id,lynq_wakealarm_add_callback);

+                        if(ret != 0)

+                        {

+                            printf("lynq_set_wakealarm failed\n");

+                            return -1;

+                        }

+                    }

                    break;

                 }

             case 7:

                 {

-                    int ret  = -1;

-                    printf("rtc servce deinit !!!!!!!!!!!!");

-                    ret = lynq_rtc_service_deinit();

-                    if(ret != 0)

+                    if(init_flag != INIT_SUCCESS)

                     {

-                        printf("lynq rtc service deinit failed \n");

-                        return -1;

-

+                        printf("*****ERROR must init rtc service ,Please reselect *******\n ");

+                    }

+                    else

+                    {

+                        int ret  = -1;

+                        printf("rtc servce deinit !!!!!!!!!!!!");

+                        ret = lynq_rtc_service_deinit();

+                        if(ret != 0)

+                        {

+                            printf("lynq rtc service deinit failed \n");

+                            return -1;

+                        }

                     }

                     break;

                 }