//indent
#ifndef __SKINELCHI_SERVICE_H_
#define __SKINELCHI_SERVICE_H_
#include <vdr/thread.h>
#include <vdr/skins.h>

/*
struct skin_serviceData {
    char *servicename;
    int version;
  };

struct skinelchi_serviceData {
    char *service;      //"Version"             "Change"                "Color" "DisplayChannel" "DisplayMenu" "DisplayMessages" "DisplayReplay" "DisplayTracks" "DisplayVolume" "<colorname>"
    int number;         //Version? -> Version!  !0->change 0->no change 0 -> Anzahl >0 ->Nummer d. Farbe
    int error;          //      <Version?       ->1 nicht möglich       -> 0 = kann geändert werden, -> 1 sollte nicht geändert werden, -> 2 = Fehler                             -> 1 = existiert nicht
    tColor color;       //                      color to show ->
    char *answer;       //Date                                          >0 -> Name der Farbe                                                                                      Name der Farbe
    int *flags; //                                                      0               1               2               3               4               5               
  };
*/


class cServiceUpdate : public cThread {
private:
    virtual void Action(void);
    int pid;
    cCondWait Wait;
public:
    cServiceUpdate(void);
    ~cServiceUpdate();
    void Update();
    void Stop();
    };

struct cService {
    cService(void);
    ~cService();
    bool Service(const char *Id, void *Data);
    void Update();
    void Stop();
    cServiceUpdate *ServiceUpdate;
    };

extern cService SkinService;
#endif
