Changeset 41769 for titan/plugins


Ignore:
Timestamp:
Jan 19, 2018, 5:06:23 PM (2 years ago)
Author:
gost
Message:

[plugin] sispmctl fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/plugins/sispmctl/sispmctl.h

    r41765 r41769  
    224224       
    225225
     226void sispmctl_start(int flag)
     227{
     228        char* cmd = NULL;
     229       
     230        if(getwaswakuptimer() != 1)
     231        {
     232       
     233                if(flag == 3 || ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "deep") == 0 && flag == 2))
     234                {
     235                        if(flag == 3)
     236                                writesys("/mnt/plugin/ps01sispm", "#!/bin/sh", 1);
     237                       
     238                        if(ostrcmp(getlist(myconfig, "g1_script", NULL), "yes") == 0)
     239                        {
     240                                cmd = ostrcat(createpluginpath("/sispmctl/bin/g1_script.sh", 0), " start", 0, 0);       
     241                                if(flag == 3)
     242                                        writesys("/mnt/plugin/ps01sispm", cmd, 3);
     243                                else
     244                                        system(cmd);
     245                                free(cmd); cmd = NULL;
     246                        }
     247                               
     248                        if(ostrcmp(getlist(myconfig, "g1_delay", NULL), "0") == 0)
     249                        {
     250                                if(ostrcmp(getlist(myconfig, "g1_delayhard", NULL), "0") == 0)
     251                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o1 > /tmp/helpsis", 0, 0);
     252                                else
     253                                {
     254                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A1 --Aafter ", 0, 0);
     255                                        cmd = ostrcat(cmd, getlist(myconfig, "g1_delayhard", NULL), 1, 0);
     256                                        cmd = ostrcat(cmd, " --Ado on", 1, 0);
     257                                }
     258                        }
     259                        else
     260                        {
     261                                cmd = ostrcat("(sleep ", getlist(myconfig, "g1_delay", NULL), 0, 0);
     262                                cmd = ostrcat(cmd, "; ", 1, 0);
     263                                cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     264                                cmd = ostrcat(cmd, " -o1) &", 1, 0);
     265                        }
     266                        if(flag == 3)
     267                                writesys("/mnt/plugin/ps01sispm", cmd, 3);
     268                        else
     269                                system(cmd);
     270                        printf("%s\n", cmd);
     271                        free(cmd); cmd = NULL;
     272                }
     273                if(ostrcmp(getlist(myconfig, "g2_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g2_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g2_auto_on", NULL), "deep") == 0 && flag == 2))
     274                {
     275                        if(ostrcmp(getlist(myconfig, "g2_script", NULL), "yes") == 0)
     276                        {
     277                                cmd = ostrcat(createpluginpath("/sispmctl/bin/g2_script.sh", 0), " start", 0, 0);       
     278                                if(flag == 3)
     279                                        writesys("/mnt/plugin/ps01sispm", cmd, 3);
     280                                else
     281                                        system(cmd);
     282                                free(cmd); cmd = NULL;
     283                        }
     284                        if(ostrcmp(getlist(myconfig, "g2_delay", NULL), "0") == 0)
     285                        {
     286                                if(ostrcmp(getlist(myconfig, "g2_delayhard", NULL), "0") == 0)
     287                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o2 > /tmp/helpsis", 0, 0);
     288                                else
     289                                {
     290                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A2 --Aafter ", 0, 0);
     291                                        cmd = ostrcat(cmd, getlist(myconfig, "g2_delayhard", NULL), 1, 0);
     292                                        cmd = ostrcat(cmd, " --Ado on", 1, 0);
     293                                }
     294                        }
     295                        else
     296                        {
     297                                cmd = ostrcat("(sleep ", getlist(myconfig, "g2_delay", NULL), 0, 0);
     298                                cmd = ostrcat(cmd, "; ", 1, 0);
     299                                cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     300                                cmd = ostrcat(cmd, " -o2) &", 1, 0);                           
     301                        }
     302                        if(flag == 3)
     303                                writesys("/mnt/plugin/ps01sispm", cmd, 3);
     304                        else
     305                                system(cmd);
     306                        printf("%s\n", cmd);
     307                        free(cmd); cmd = NULL;
     308                }
     309                if(ostrcmp(getlist(myconfig, "g3_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g3_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g3_auto_on", NULL), "deep") == 0 && flag == 2))
     310                {
     311                        if(ostrcmp(getlist(myconfig, "g3_script", NULL), "yes") == 0)
     312                        {
     313                                cmd = ostrcat(createpluginpath("/sispmctl/bin/g3_script.sh", 0), " start", 0, 0);       
     314                                if(flag == 3)
     315                                        writesys("/mnt/plugin/ps01sispm", cmd, 3);
     316                                else
     317                                        system(cmd);
     318                                free(cmd); cmd = NULL;
     319                        }
     320                        if(ostrcmp(getlist(myconfig, "g3_delay", NULL), "0") == 0)
     321                        {
     322                                if(ostrcmp(getlist(myconfig, "g3_delayhard", NULL), "0") == 0)
     323                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o3 > /tmp/helpsis", 0, 0);
     324                                else
     325                                {
     326                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A3 --Aafter ", 0, 0);
     327                                        cmd = ostrcat(cmd, getlist(myconfig, "g3_delayhard", NULL), 1, 0);
     328                                        cmd = ostrcat(cmd, " --Ado on", 1, 0);
     329                                }
     330                        }
     331                        else
     332                        {
     333                                cmd = ostrcat("(sleep ", getlist(myconfig, "g3_delay", NULL), 0, 0);
     334                                cmd = ostrcat(cmd, "; ", 1, 0);
     335                                cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     336                                cmd = ostrcat(cmd, " -o3) &", 1, 0);
     337
     338                        }
     339                        if(flag == 3)
     340                                writesys("/mnt/plugin/ps01sispm", cmd, 3);
     341                        else
     342                                system(cmd);
     343                        printf("%s\n", cmd);
     344                        free(cmd); cmd = NULL;
     345                }
     346                if(ostrcmp(getlist(myconfig, "g4_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g4_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g4_auto_on", NULL), "deep") == 0 && flag == 2))
     347                {
     348                        if(ostrcmp(getlist(myconfig, "g4_script", NULL), "yes") == 0)
     349                        {
     350                                cmd = ostrcat(createpluginpath("/sispmctl/bin/g4_script.sh", 0), " start", 0, 0);       
     351                                if(flag == 3)
     352                                        writesys("/mnt/plugin/ps01sispm", cmd, 3);
     353                                else
     354                                        system(cmd);
     355                                free(cmd); cmd = NULL;
     356                        }
     357                        if(ostrcmp(getlist(myconfig, "g4_delay", NULL), "0") == 0)
     358                        {
     359                                if(ostrcmp(getlist(myconfig, "g4_delayhard", NULL), "0") == 0)
     360                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o4 > /tmp/helpsis", 0, 0);
     361                                else
     362                                {
     363                                        cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A4 --Aafter ", 0, 0);
     364                                        cmd = ostrcat(cmd, getlist(myconfig, "g4_delay", NULL), 1, 0);
     365                                        cmd = ostrcat(cmd, " --Ado on", 1, 0);
     366                                }
     367                        }
     368                        else
     369                        {
     370                                cmd = ostrcat("(sleep ", getlist(myconfig, "g4_delayhard", NULL), 0, 0);
     371                                cmd = ostrcat(cmd, "; ", 1, 0);
     372                                cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     373                                cmd = ostrcat(cmd, " -o4) &", 1, 0);                           
     374                        }
     375                        if(flag == 3)
     376                                writesys("/mnt/plugin/ps01sispm", cmd, 3);
     377                        else
     378                                system(cmd);
     379                        printf("%s\n", cmd);
     380                        free(cmd); cmd = NULL;
     381                }
     382        }
     383}
     384
     385void sispmctl_stop(int flag)
     386{
     387        char* cmd = NULL;
     388        int maxsleep = 0;
     389        if(flag == 3 || ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "deep") == 0 && flag == 2))
     390        {
     391                if(flag == 3)
     392                                writesys("/mnt/plugin/pe01sispm", "#!/bin/sh", 1);
     393               
     394                if(ostrcmp(getlist(myconfig, "g1_script", NULL), "yes") == 0)
     395                {
     396                        cmd = ostrcat(createpluginpath("/sispmctl/bin/g1_script.sh", 0), " stop", 0, 0);       
     397                        if(flag == 3)
     398                                writesys("/mnt/plugin/pe01sispm", cmd, 3);
     399                        else
     400                                system(cmd);
     401                        free(cmd); cmd = NULL;
     402                }
     403                if(ostrcmp(getlist(myconfig, "g1_delay", NULL), "0") == 0)
     404                {
     405                        if(ostrcmp(getlist(myconfig, "g1_delayhard", NULL), "0") == 0)
     406                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f1 > /tmp/helpsis", 0, 0);
     407                        else
     408                        {
     409                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A1 --Aafter ", 0, 0);
     410                                cmd = ostrcat(cmd, getlist(myconfig, "g1_delayhard", NULL), 1, 0);
     411                                cmd = ostrcat(cmd, " --Ado off", 1, 0);
     412                        }
     413                }
     414                else
     415                {
     416                        cmd = ostrcat("(sleep ", getlist(myconfig, "g1_delay", NULL), 0, 0);
     417                        cmd = ostrcat(cmd, "; ", 1, 0);
     418                        cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     419                        cmd = ostrcat(cmd, " -f1) &", 1, 0);
     420                        if(maxsleep < atoi(getlist(myconfig, "g1_delay", NULL)))
     421                                maxsleep = atoi(getlist(myconfig, "g1_delay", NULL));                   
     422                }
     423                if(flag == 3)
     424                        writesys("/mnt/plugin/pe01sispm", cmd, 3);
     425                else
     426                        system(cmd);
     427                printf("%s\n", cmd);
     428                free(cmd); cmd = NULL;
     429        }
     430        if(ostrcmp(getlist(myconfig, "g2_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g2_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g2_auto_off", NULL), "deep") == 0 && flag == 2))
     431        {
     432                if(ostrcmp(getlist(myconfig, "g2_script", NULL), "yes") == 0)
     433                {
     434                        cmd = ostrcat(createpluginpath("/sispmctl/bin/g2_script.sh", 0), " stop", 0, 0);       
     435                        if(flag == 3)
     436                                writesys("/mnt/plugin/pe01sispm", cmd, 3);
     437                        else
     438                                system(cmd);
     439                        free(cmd); cmd = NULL;
     440                }
     441                if(ostrcmp(getlist(myconfig, "g2_delay", NULL), "0") == 0)
     442                {
     443                        if(ostrcmp(getlist(myconfig, "g2_delayhard", NULL), "0") == 0)
     444                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f2 > /tmp/helpsis", 0, 0);
     445                        else
     446                        {
     447                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A2 --Aafter ", 0, 0);
     448                                cmd = ostrcat(cmd, getlist(myconfig, "g2_delayhard", NULL), 1, 0);
     449                                cmd = ostrcat(cmd, " --Ado off", 1, 0);
     450                        }
     451                }
     452                else
     453                {
     454                        cmd = ostrcat("(sleep ", getlist(myconfig, "g2_delay", NULL), 0, 0);
     455                        cmd = ostrcat(cmd, "; ", 1, 0);
     456                        cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     457                        cmd = ostrcat(cmd, " -f2) &", 1, 0);
     458                        if(maxsleep < atoi(getlist(myconfig, "g2_delay", NULL)))
     459                                maxsleep = atoi(getlist(myconfig, "g2_delay", NULL));                   
     460                }
     461                if(flag == 3)
     462                        writesys("/mnt/plugin/pe01sispm", cmd, 3);
     463                else
     464                        system(cmd);
     465                printf("%s\n", cmd);
     466                free(cmd); cmd = NULL;
     467        }
     468        if(ostrcmp(getlist(myconfig, "g3_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g3_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g3_auto_off", NULL), "deep") == 0 && flag == 2))
     469        {
     470                if(ostrcmp(getlist(myconfig, "g3_script", NULL), "yes") == 0)
     471                {
     472                        cmd = ostrcat(createpluginpath("/sispmctl/bin/g3_script.sh", 0), " stop", 0, 0);       
     473                        if(flag == 3)
     474                                writesys("/mnt/plugin/pe01sispm", cmd, 3);
     475                        else
     476                                system(cmd);
     477                        free(cmd); cmd = NULL;
     478                }
     479                if(ostrcmp(getlist(myconfig, "g3_delay", NULL), "0") == 0)
     480                {
     481                        if(ostrcmp(getlist(myconfig, "g3_delayhard", NULL), "0") == 0)
     482                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f3 > /tmp/helpsis", 0, 0);
     483                        else
     484                        {
     485                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A3 --Aafter ", 0, 0);
     486                                cmd = ostrcat(cmd, getlist(myconfig, "g3_delayhard", NULL), 1, 0);
     487                                cmd = ostrcat(cmd, " --Ado off", 1, 0);
     488                        }
     489                }
     490                else
     491                {
     492                        cmd = ostrcat("(sleep ", getlist(myconfig, "g3_delay", NULL), 0, 0);
     493                        cmd = ostrcat(cmd, "; ", 1, 0);
     494                        cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     495                        cmd = ostrcat(cmd, " -f3) &", 1, 0);
     496                        if(maxsleep < atoi(getlist(myconfig, "g3_delay", NULL)))
     497                                maxsleep = atoi(getlist(myconfig, "g3_delay", NULL));                   
     498                }
     499                if(flag == 3)
     500                        writesys("/mnt/plugin/pe01sispm", cmd, 3);
     501                else
     502                        system(cmd);
     503                printf("%s\n", cmd);
     504                free(cmd); cmd = NULL;
     505        }
     506        if(ostrcmp(getlist(myconfig, "g4_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g4_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g4_auto_off", NULL), "deep") == 0 && flag == 2))
     507        {
     508                if(ostrcmp(getlist(myconfig, "g4_script", NULL), "yes") == 0)
     509                {
     510                        cmd = ostrcat(createpluginpath("/sispmctl/bin/g4_script.sh", 0), " stop", 0, 0);       
     511                        if(flag == 3)
     512                                writesys("/mnt/plugin/pe01sispm", cmd, 3);
     513                        else
     514                                system(cmd);
     515                        free(cmd); cmd = NULL;
     516                }
     517                if(ostrcmp(getlist(myconfig, "g4_delay", NULL), "0") == 0)
     518                {
     519                        if(ostrcmp(getlist(myconfig, "g4_delayhard", NULL), "0") == 0)
     520                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f4 > /tmp/helpsis", 0, 0);
     521                        else
     522                        {
     523                                cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A4 --Aafter ", 0, 0);
     524                                cmd = ostrcat(cmd, getlist(myconfig, "g4_delayhard", NULL), 1, 0);
     525                                cmd = ostrcat(cmd, " --Ado off", 1, 0);
     526                        }
     527                }
     528                else
     529                {
     530                        cmd = ostrcat("(sleep ", getlist(myconfig, "g4_delay", NULL), 0, 0);
     531                        cmd = ostrcat(cmd, "; ", 1, 0);
     532                        cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
     533                        cmd = ostrcat(cmd, " -f4) &", 1, 0);
     534                        if(maxsleep < atoi(getlist(myconfig, "g4_delay", NULL)))
     535                                maxsleep = atoi(getlist(myconfig, "g4_delay", NULL));                   
     536                }
     537                if(flag == 3)
     538                        writesys("/mnt/plugin/pe01sispm", cmd, 3);
     539                else
     540                        system(cmd);
     541                printf("%s\n", cmd);
     542                free(cmd); cmd = NULL;
     543        }
     544        if(maxsleep > 0)
     545                sleep(maxsleep);
     546}
     547
     548void sispmctl_check_thread()
     549{
     550        int standby = 0;
     551        while (sispmctl_checkthread->aktion != STOP)
     552        {
     553                if(status.standby > 0 && standby == 0)
     554                {
     555                        sispmctl_stop(1);
     556                        standby = 1;
     557                }
     558                if(status.standby == 0 && standby == 1)
     559                {
     560                        sispmctl_start(1);
     561                        standby = 0;
     562                }
     563                sleep(2);
     564        }
     565        sispmctl_checkthread = NULL;
     566}
     567
    226568void sispmctl_settings()
    227569{
     
    229571        int rcret = 0;
    230572        int rcode = 0;
     573       
     574        struct skin* load = getscreen("loading");
    231575       
    232576        struct skin* sis_einstellungen = getscreen("sis_einstellungen");
     
    503847}
    504848
    505 void sispmctl_start(int flag)
    506 {
    507         char* cmd = NULL;
    508        
    509         if(getwaswakuptimer() != 1)
    510         {
    511        
    512                 if(ostrcmp(flag == 3 || getlist(myconfig, "g1_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "deep") == 0 && flag == 2))
    513                 {
    514                         if(flag == 3)
    515                                 writesys("/mnt/plugin/ps01sispm", "#!/bin/sh", 1);
    516                        
    517                         if(ostrcmp(getlist(myconfig, "g1_script", NULL), "yes") == 0)
    518                         {
    519                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/g1_script.sh", 0), " start", 0, 0);       
    520                                 if(flag = 3)
    521                                         writesys("/mnt/plugin/ps01sispm", cmd, 3);
    522                                 else
    523                                         system(cmd);
    524                                 free(cmd); cmd = NULL;
    525                         }
    526                                
    527                         if(ostrcmp(getlist(myconfig, "g1_delay", NULL), "0") == 0)
    528                         {
    529                                 if(ostrcmp(getlist(myconfig, "g1_delayhard", NULL), "0") == 0)
    530                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o1 > /tmp/helpsis", 0, 0);
    531                                 else
    532                                 {
    533                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A1 --Aafter ", 0, 0);
    534                                         cmd = ostrcat(cmd, getlist(myconfig, "g1_delayhard", NULL), 1, 0);
    535                                         cmd = ostrcat(cmd, " --Ado on", 1, 0);
    536                                 }
    537                         }
    538                         else
    539                         {
    540                                 cmd = ostrcat("(sleep ", getlist(myconfig, "g1_delay", NULL), 0, 0);
    541                                 cmd = ostrcat(cmd, "; ", 1, 0);
    542                                 cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    543                                 cmd = ostrcat(cmd, " -o1) &", 1, 0);
    544                         }
    545                         if(flag = 3)
    546                                 writesys("/mnt/plugin/ps01sispm", cmd, 3);
    547                         else
    548                                 system(cmd);
    549                         printf("%s\n", cmd);
    550                         free(cmd); cmd = NULL;
    551                 }
    552                 if(ostrcmp(getlist(myconfig, "g2_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g2_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g2_auto_on", NULL), "deep") == 0 && flag == 2))
    553                 {
    554                         if(ostrcmp(getlist(myconfig, "g2_script", NULL), "yes") == 0)
    555                         {
    556                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/g2_script.sh", 0), " start", 0, 0);       
    557                                 if(flag = 3)
    558                                         writesys("/mnt/plugin/ps01sispm", cmd, 3);
    559                                 else
    560                                         system(cmd);
    561                                 free(cmd); cmd = NULL;
    562                         }
    563                         if(ostrcmp(getlist(myconfig, "g2_delay", NULL), "0") == 0)
    564                         {
    565                                 if(ostrcmp(getlist(myconfig, "g2_delayhard", NULL), "0") == 0)
    566                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o2 > /tmp/helpsis", 0, 0);
    567                                 else
    568                                 {
    569                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A2 --Aafter ", 0, 0);
    570                                         cmd = ostrcat(cmd, getlist(myconfig, "g2_delayhard", NULL), 1, 0);
    571                                         cmd = ostrcat(cmd, " --Ado on", 1, 0);
    572                                 }
    573                         }
    574                         else
    575                         {
    576                                 cmd = ostrcat("(sleep ", getlist(myconfig, "g2_delay", NULL), 0, 0);
    577                                 cmd = ostrcat(cmd, "; ", 1, 0);
    578                                 cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    579                                 cmd = ostrcat(cmd, " -o2) &", 1, 0);                           
    580                         }
    581                         if(flag = 3)
    582                                 writesys("/mnt/plugin/ps01sispm", cmd, 3);
    583                         else
    584                                 system(cmd);
    585                         printf("%s\n", cmd);
    586                         free(cmd); cmd = NULL;
    587                 }
    588                 if(ostrcmp(getlist(myconfig, "g3_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g3_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g3_auto_on", NULL), "deep") == 0 && flag == 2))
    589                 {
    590                         if(ostrcmp(getlist(myconfig, "g3_script", NULL), "yes") == 0)
    591                         {
    592                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/g3_script.sh", 0), " start", 0, 0);       
    593                                 if(flag = 3)
    594                                         writesys("/mnt/plugin/ps01sispm", cmd, 3);
    595                                 else
    596                                         system(cmd);
    597                                 free(cmd); cmd = NULL;
    598                         }
    599                         if(ostrcmp(getlist(myconfig, "g3_delay", NULL), "0") == 0)
    600                         {
    601                                 if(ostrcmp(getlist(myconfig, "g3_delayhard", NULL), "0") == 0)
    602                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o3 > /tmp/helpsis", 0, 0);
    603                                 else
    604                                 {
    605                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A3 --Aafter ", 0, 0);
    606                                         cmd = ostrcat(cmd, getlist(myconfig, "g3_delayhard", NULL), 1, 0);
    607                                         cmd = ostrcat(cmd, " --Ado on", 1, 0);
    608                                 }
    609                         }
    610                         else
    611                         {
    612                                 cmd = ostrcat("(sleep ", getlist(myconfig, "g3_delay", NULL), 0, 0);
    613                                 cmd = ostrcat(cmd, "; ", 1, 0);
    614                                 cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    615                                 cmd = ostrcat(cmd, " -o3) &", 1, 0);
    616 
    617                         }
    618                         if(flag = 3)
    619                                 writesys("/mnt/plugin/ps01sispm", cmd, 3);
    620                         else
    621                                 system(cmd);
    622                         printf("%s\n", cmd);
    623                         free(cmd); cmd = NULL;
    624                 }
    625                 if(ostrcmp(getlist(myconfig, "g4_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g4_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g4_auto_on", NULL), "deep") == 0 && flag == 2))
    626                 {
    627                         if(ostrcmp(getlist(myconfig, "g4_script", NULL), "yes") == 0)
    628                         {
    629                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/g4_script.sh", 0), " start", 0, 0);       
    630                                 if(flag = 3)
    631                                         writesys("/mnt/plugin/ps01sispm", cmd, 3);
    632                                 else
    633                                         system(cmd);
    634                                 free(cmd); cmd = NULL;
    635                         }
    636                         if(ostrcmp(getlist(myconfig, "g4_delay", NULL), "0") == 0)
    637                         {
    638                                 if(ostrcmp(getlist(myconfig, "g4_delayhard", NULL), "0") == 0)
    639                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -o4 > /tmp/helpsis", 0, 0);
    640                                 else
    641                                 {
    642                                         cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A4 --Aafter ", 0, 0);
    643                                         cmd = ostrcat(cmd, getlist(myconfig, "g4_delay", NULL), 1, 0);
    644                                         cmd = ostrcat(cmd, " --Ado on", 1, 0);
    645                                 }
    646                         }
    647                         else
    648                         {
    649                                 cmd = ostrcat("(sleep ", getlist(myconfig, "g4_delayhard", NULL), 0, 0);
    650                                 cmd = ostrcat(cmd, "; ", 1, 0);
    651                                 cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    652                                 cmd = ostrcat(cmd, " -o4) &", 1, 0);                           
    653                         }
    654                         if(flag = 3)
    655                                 writesys("/mnt/plugin/ps01sispm", cmd, 3);
    656                         else
    657                                 system(cmd);
    658                         printf("%s\n", cmd);
    659                         free(cmd); cmd = NULL;
    660                 }
    661         }
    662 }
    663 
    664 void sispmctl_stop(int flag)
    665 {
    666         char* cmd = NULL;
    667         int maxsleep = 0;
    668         if(ostrcmp(flag == 3 || getlist(myconfig, "g1_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "deep") == 0 && flag == 2))
    669         {
    670                 if(flag == 3)
    671                                 writesys("/mnt/plugin/pe01sispm", "#!/bin/sh", 1);
    672                
    673                 if(ostrcmp(getlist(myconfig, "g1_script", NULL), "yes") == 0)
    674                 {
    675                         cmd = ostrcat(createpluginpath("/sispmctl/bin/g1_script.sh", 0), " stop", 0, 0);       
    676                         if(flag = 3)
    677                                 writesys("/mnt/plugin/pe01sispm", cmd, 3);
    678                         else
    679                                 system(cmd);
    680                         free(cmd); cmd = NULL;
    681                 }
    682                 if(ostrcmp(getlist(myconfig, "g1_delay", NULL), "0") == 0)
    683                 {
    684                         if(ostrcmp(getlist(myconfig, "g1_delayhard", NULL), "0") == 0)
    685                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f1 > /tmp/helpsis", 0, 0);
    686                         else
    687                         {
    688                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A1 --Aafter ", 0, 0);
    689                                 cmd = ostrcat(cmd, getlist(myconfig, "g1_delayhard", NULL), 1, 0);
    690                                 cmd = ostrcat(cmd, " --Ado off", 1, 0);
    691                         }
    692                 }
    693                 else
    694                 {
    695                         cmd = ostrcat("(sleep ", getlist(myconfig, "g1_delay", NULL), 0, 0);
    696                         cmd = ostrcat(cmd, "; ", 1, 0);
    697                         cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    698                         cmd = ostrcat(cmd, " -f1) &", 1, 0);
    699                         if(maxsleep < atoi(getlist(myconfig, "g1_delay", NULL)))
    700                                 maxsleep = atoi(getlist(myconfig, "g1_delay", NULL));                   
    701                 }
    702                 if(flag = 3)
    703                         writesys("/mnt/plugin/pe01sispm", cmd, 3);
    704                 else
    705                         system(cmd);
    706                 printf("%s\n", cmd);
    707                 free(cmd); cmd = NULL;
    708         }
    709         if(ostrcmp(getlist(myconfig, "g2_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g2_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g2_auto_off", NULL), "deep") == 0 && flag == 2))
    710         {
    711                 if(ostrcmp(getlist(myconfig, "g2_script", NULL), "yes") == 0)
    712                 {
    713                         cmd = ostrcat(createpluginpath("/sispmctl/bin/g2_script.sh", 0), " stop", 0, 0);       
    714                         if(flag = 3)
    715                                 writesys("/mnt/plugin/pe01sispm", cmd, 3);
    716                         else
    717                                 system(cmd);
    718                         free(cmd); cmd = NULL;
    719                 }
    720                 if(ostrcmp(getlist(myconfig, "g2_delay", NULL), "0") == 0)
    721                 {
    722                         if(ostrcmp(getlist(myconfig, "g2_delayhard", NULL), "0") == 0)
    723                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f2 > /tmp/helpsis", 0, 0);
    724                         else
    725                         {
    726                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A2 --Aafter ", 0, 0);
    727                                 cmd = ostrcat(cmd, getlist(myconfig, "g2_delayhard", NULL), 1, 0);
    728                                 cmd = ostrcat(cmd, " --Ado off", 1, 0);
    729                         }
    730                 }
    731                 else
    732                 {
    733                         cmd = ostrcat("(sleep ", getlist(myconfig, "g2_delay", NULL), 0, 0);
    734                         cmd = ostrcat(cmd, "; ", 1, 0);
    735                         cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    736                         cmd = ostrcat(cmd, " -f2) &", 1, 0);
    737                         if(maxsleep < atoi(getlist(myconfig, "g2_delay", NULL)))
    738                                 maxsleep = atoi(getlist(myconfig, "g2_delay", NULL));                   
    739                 }
    740                 if(flag = 3)
    741                         writesys("/mnt/plugin/pe01sispm", cmd, 3);
    742                 else
    743                         system(cmd);
    744                 printf("%s\n", cmd);
    745                 free(cmd); cmd = NULL;
    746         }
    747         if(ostrcmp(getlist(myconfig, "g3_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g3_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g3_auto_off", NULL), "deep") == 0 && flag == 2))
    748         {
    749                 if(ostrcmp(getlist(myconfig, "g3_script", NULL), "yes") == 0)
    750                 {
    751                         cmd = ostrcat(createpluginpath("/sispmctl/bin/g3_script.sh", 0), " stop", 0, 0);       
    752                         if(flag = 3)
    753                                 writesys("/mnt/plugin/pe01sispm", cmd, 3);
    754                         else
    755                                 system(cmd);
    756                         free(cmd); cmd = NULL;
    757                 }
    758                 if(ostrcmp(getlist(myconfig, "g3_delay", NULL), "0") == 0)
    759                 {
    760                         if(ostrcmp(getlist(myconfig, "g3_delayhard", NULL), "0") == 0)
    761                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f3 > /tmp/helpsis", 0, 0);
    762                         else
    763                         {
    764                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A3 --Aafter ", 0, 0);
    765                                 cmd = ostrcat(cmd, getlist(myconfig, "g3_delayhard", NULL), 1, 0);
    766                                 cmd = ostrcat(cmd, " --Ado off", 1, 0);
    767                         }
    768                 }
    769                 else
    770                 {
    771                         cmd = ostrcat("(sleep ", getlist(myconfig, "g3_delay", NULL), 0, 0);
    772                         cmd = ostrcat(cmd, "; ", 1, 0);
    773                         cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    774                         cmd = ostrcat(cmd, " -f3) &", 1, 0);
    775                         if(maxsleep < atoi(getlist(myconfig, "g3_delay", NULL)))
    776                                 maxsleep = atoi(getlist(myconfig, "g3_delay", NULL));                   
    777                 }
    778                 if(flag = 3)
    779                         writesys("/mnt/plugin/pe01sispm", cmd, 3);
    780                 else
    781                         system(cmd);
    782                 printf("%s\n", cmd);
    783                 free(cmd); cmd = NULL;
    784         }
    785         if(ostrcmp(getlist(myconfig, "g4_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g4_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g4_auto_off", NULL), "deep") == 0 && flag == 2))
    786         {
    787                 if(ostrcmp(getlist(myconfig, "g4_script", NULL), "yes") == 0)
    788                 {
    789                         cmd = ostrcat(createpluginpath("/sispmctl/bin/g4_script.sh", 0), " stop", 0, 0);       
    790                         if(flag = 3)
    791                                 writesys("/mnt/plugin/pe01sispm", cmd, 3);
    792                         else
    793                                 system(cmd);
    794                         free(cmd); cmd = NULL;
    795                 }
    796                 if(ostrcmp(getlist(myconfig, "g4_delay", NULL), "0") == 0)
    797                 {
    798                         if(ostrcmp(getlist(myconfig, "g4_delayhard", NULL), "0") == 0)
    799                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -f4 > /tmp/helpsis", 0, 0);
    800                         else
    801                         {
    802                                 cmd = ostrcat(createpluginpath("/sispmctl/bin/sispmctl", 0), " -A4 --Aafter ", 0, 0);
    803                                 cmd = ostrcat(cmd, getlist(myconfig, "g4_delayhard", NULL), 1, 0);
    804                                 cmd = ostrcat(cmd, " --Ado off", 1, 0);
    805                         }
    806                 }
    807                 else
    808                 {
    809                         cmd = ostrcat("(sleep ", getlist(myconfig, "g4_delay", NULL), 0, 0);
    810                         cmd = ostrcat(cmd, "; ", 1, 0);
    811                         cmd = ostrcat(cmd, createpluginpath("/sispmctl/bin/sispmctl", 0), 1, 0);
    812                         cmd = ostrcat(cmd, " -f4) &", 1, 0);
    813                         if(maxsleep < atoi(getlist(myconfig, "g4_delay", NULL)))
    814                                 maxsleep = atoi(getlist(myconfig, "g4_delay", NULL));                   
    815                 }
    816                 if(flag = 3)
    817                         writesys("/mnt/plugin/pe01sispm", cmd, 3);
    818                 else
    819                         system(cmd);
    820                 printf("%s\n", cmd);
    821                 free(cmd); cmd = NULL;
    822         }
    823         if(maxsleep > 0)
    824                 sleep(maxsleep);
    825 }
    826 
    827 void sispmctl_check_thread()
    828 {
    829         int standby = 0;
    830         while (sispmctl_checkthread->aktion != STOP)
    831         {
    832                 if(status.standby > 0 && standby == 0)
    833                 {
    834                         sispmctl_stop(1);
    835                         standby = 1;
    836                 }
    837                 if(status.standby == 0 && standby == 1)
    838                 {
    839                         sispmctl_start(1);
    840                         standby = 0;
    841                 }
    842                 sleep(2);
    843         }
    844         sispmctl_checkthread = NULL;
    845 }
    846 
    847849void sispmctl_main()
    848850{
Note: See TracChangeset for help on using the changeset viewer.