source: titan/plugins/zapback/zapback.c @ 24056

Last change on this file since 24056 was 24056, checked in by nit, 10 years ago

[titan] add new plugindir system

  • Property svn:executable set to *
File size: 4.3 KB
Line 
1#include "../../titan/struct.h"
2#include "../../titan/debug.h"
3#include "../../titan/header.h"
4
5char pluginname[] = "zapback (Werbezapper)";
6char plugindesc[] = "Extensions";
7char pluginpic[] = "%pluginpath%/zapback/plugin.png";
8
9int pluginaktiv = 0;
10int pluginversion = PLUGINVERSION;
11//struct skin* pluginmenu = NULL;
12//int pluginflag = 1; //don't show the plugin in pluginmanager
13
14struct stimerthread* zapbackthread = NULL;
15struct service* merkservice;
16int waitminute = 0;
17
18void akttomerk()
19{
20        if(status.aktservice->fedev != NULL && status.aktservice->fedev->type == FRONTENDDEVDUMMY) return;
21        merkservice->fedev = status.aktservice->fedev;
22        merkservice->dmxaudiodev = status.aktservice->dmxaudiodev;
23        merkservice->dmxvideodev = status.aktservice->dmxvideodev;
24        merkservice->dmxpcrdev = status.aktservice->dmxpcrdev;
25        merkservice->dmxsubtitledev = status.aktservice->dmxsubtitledev;
26        merkservice->audiodev = status.aktservice->audiodev;
27        merkservice->videodev = status.aktservice->videodev;
28        merkservice->transponder = status.aktservice->transponder;
29        merkservice->channel = status.aktservice->channel;
30        free(merkservice->channellist);
31        merkservice->channellist = ostrcat(status.aktservice->channellist, NULL, 0, 0);
32}
33
34void zapback_thread()
35{
36       
37        char* tmpstr = NULL;
38        int merkminute = 0;
39        int helpminute = 0;
40        int countminute = 0;
41       
42        merkminute = atoi(gettime(NULL, "%M"));
43       
44        while(zapbackthread->aktion != STOP)
45        {
46                helpminute = atoi(gettime(NULL, "%M"));
47                if(helpminute != merkminute)
48                {
49                        countminute = countminute + 1;
50                        merkminute = helpminute;
51                }
52                if(countminute >= waitminute)
53                {
54                        if(merkservice->channel != NULL)
55                        {
56                                tmpstr = ostrcat(merkservice->channellist, NULL, 0, 0);
57                                servicecheckret(servicestart(merkservice->channel, tmpstr, NULL, 0), 0);
58                                free(tmpstr); tmpstr = NULL;
59                                break;
60                        }
61                }
62                sleep(60);
63        }
64        zapbackthread = NULL;
65        return;
66}
67                       
68void zapback_main()
69{
70        int rcret= 0;
71       
72        struct skin* zapback_main = getscreen("zapback_main");
73        struct skin* minuten = getscreennode(zapback_main, "minuten");
74//      struct skin* b1 = getscreennode(zapback_main, "b1");
75        char *temp = NULL;
76       
77        if(zapbackthread != NULL)
78        {
79                if(textbox(_("Message"), _("Zapback bereits aktiv ... Stoppen?"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("exit", NULL), NULL, 0, NULL, 0, 600, 200, 5, 0) == 1)
80                        zapbackthread->aktion = STOP;
81                else
82                        return;
83        }
84       
85        waitminute = getconfigint("zapbackwait", NULL);
86        if(waitminute == 0)
87                waitminute = 9;
88        temp = oitoa(waitminute);
89        changetext(minuten, temp);
90        free(temp); temp = NULL;
91        while(1)
92        {
93                drawscreen(zapback_main, 0, 0);
94                rcret = waitrc(zapback_main, 0, 0);
95               
96                if(rcret == getrcconfigint("rc1", NULL))
97                {
98                        changetext(minuten, "1");
99                        waitminute = 1;
100                }
101                if(rcret == getrcconfigint("rc2", NULL))
102                {
103                        changetext(minuten, "2");
104                        waitminute = 2;
105                }
106                if(rcret == getrcconfigint("rc3", NULL))
107                {
108                        changetext(minuten, "3");
109                        waitminute = 3;
110                }
111                if(rcret == getrcconfigint("rc4", NULL))
112                {
113                        changetext(minuten, "4");
114                        waitminute = 4;
115                }
116                if(rcret == getrcconfigint("rc5", NULL))
117                {
118                        changetext(minuten, "5");
119                        waitminute = 5;
120                }
121                if(rcret == getrcconfigint("rc6", NULL))
122                {
123                        changetext(minuten, "6");
124                        waitminute = 6;
125                }
126                if(rcret == getrcconfigint("rc7", NULL))
127                {
128                        changetext(minuten, "7");
129                        waitminute = 7;
130                }
131                if(rcret == getrcconfigint("rc8", NULL))
132                {
133                        changetext(minuten, "8");
134                        waitminute = 8;
135                }
136                if(rcret == getrcconfigint("rc9", NULL))
137                {
138                        changetext(minuten, "9");
139                        waitminute = 9;
140                }
141                if(rcret == getrcconfigint("rcok", NULL))
142                {
143                        addconfigint("zapbackwait", waitminute);
144                        akttomerk();
145                        zapbackthread = addtimer(&zapback_thread, START, 10000, 1, NULL, NULL, NULL);
146                        break;
147                }
148                if(rcret == getrcconfigint("rcexit", NULL))
149                {
150                        break;
151                }
152        }
153        clearscreen(zapback_main);
154}       
155                       
156//wird beim laden ausgefuehrt
157void init(void)
158{
159        char* tmpstr = NULL;
160        pluginaktiv = 1;
161        tmpstr = createpluginpath("/zapback/skin.xml", 0);
162        readscreen(tmpstr, 115, 1);
163        free(tmpstr); tmpstr = NULL;
164        debug(10, "zapback Plugin loadet !!!");
165        merkservice = addservice(NULL);
166}
167
168//wird beim entladen ausgefuehrt
169void deinit(void)
170{
171        free(merkservice->channellist);
172        delservice(merkservice, 0);
173        merkservice = NULL;
174        delmarkedscreen(115);
175        pluginaktiv = 0;
176        debug(10, "zapback Time removed !!!");
177}
178
179//wird in der Pluginverwaltung bzw Menue ausfeguehrt
180void start(void)
181{
182        zapback_main();
183}
Note: See TracBrowser for help on using the repository browser.