mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
122 lines
3.2 KiB
C
122 lines
3.2 KiB
C
|
/*
|
||
|
* service.h: EPG2VDR plugin for the Video Disk Recorder
|
||
|
*
|
||
|
* See the README file for copyright information and how to reach the author.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef _SERVICE_H_
|
||
|
#define _SERVICE_H_
|
||
|
|
||
|
#include <vdr/timers.h>
|
||
|
#include <vdr/epg.h>
|
||
|
|
||
|
#include <list>
|
||
|
|
||
|
//***************************************************************************
|
||
|
// Timer - Skin Interface
|
||
|
//***************************************************************************
|
||
|
|
||
|
class cEpgEvent_Interface_V1 : public cEvent
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
cEpgEvent_Interface_V1(tEventID EventID)
|
||
|
: cEvent(EventID) {}
|
||
|
|
||
|
// #TODO ... getter
|
||
|
|
||
|
protected:
|
||
|
|
||
|
// #TODO ... attributes
|
||
|
};
|
||
|
|
||
|
//***************************************************************************
|
||
|
// Timer - Skin Interface
|
||
|
//***************************************************************************
|
||
|
|
||
|
class cEpgTimer_Interface_V1 : public cTimer
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
cEpgTimer_Interface_V1(bool Instant = false, bool Pause = false, cChannel* Channel = 0)
|
||
|
: cTimer(Instant, Pause, Channel) {}
|
||
|
|
||
|
long TimerId() { return timerid; }
|
||
|
long EventId() { return eventid; }
|
||
|
const char* VdrName() { return vdrName ? vdrName : ""; }
|
||
|
const char* VdrUuid() { return vdrUuid ? vdrUuid : ""; }
|
||
|
int isVdrRunning() { return vdrRunning; }
|
||
|
int isLocal() { return local; }
|
||
|
int isRemote() { return !isLocal(); }
|
||
|
|
||
|
char State() { return state; }
|
||
|
const char* StateInfo() { return stateInfo ? stateInfo : ""; }
|
||
|
char Action() { return action; }
|
||
|
|
||
|
protected:
|
||
|
|
||
|
long timerid;
|
||
|
long eventid;
|
||
|
|
||
|
char* vdrName;
|
||
|
char* vdrUuid;
|
||
|
int local;
|
||
|
int vdrRunning;
|
||
|
|
||
|
char state;
|
||
|
char* stateInfo;
|
||
|
char action;
|
||
|
};
|
||
|
|
||
|
//***************************************************************************
|
||
|
// Timer - Service Interface
|
||
|
//***************************************************************************
|
||
|
|
||
|
struct cEpgTimer_Service_V1
|
||
|
{
|
||
|
std::list<cEpgTimer_Interface_V1*> epgTimers;
|
||
|
};
|
||
|
|
||
|
#define EPG2VDR_TIMER_SERVICE "Epg2Vdr_Timer_Service-v1.0"
|
||
|
|
||
|
#ifdef EPG2VDR
|
||
|
|
||
|
//***************************************************************************
|
||
|
// Class cEpgEvent
|
||
|
//***************************************************************************
|
||
|
|
||
|
class cEpgEvent : public cEpgEvent_Interface_V1
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
cEpgEvent(tEventID EventID);
|
||
|
virtual ~cEpgEvent() {}
|
||
|
|
||
|
// #TODO ... setter
|
||
|
};
|
||
|
|
||
|
//***************************************************************************
|
||
|
// Class cEpgTimer
|
||
|
//***************************************************************************
|
||
|
|
||
|
class cEpgTimer : public cEpgTimer_Interface_V1
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
cEpgTimer(bool Instant = false, bool Pause = false, cChannel* Channel = 0);
|
||
|
virtual ~cEpgTimer();
|
||
|
|
||
|
void setTimerId(long id) { timerid = id; }
|
||
|
void setEventId(long id) { eventid = id; }
|
||
|
void setState(char s, const char* info);
|
||
|
void setAction(char a);
|
||
|
void setVdr(const char* name, const char* uuid = 0, int running = 0);
|
||
|
};
|
||
|
|
||
|
#endif // EPG2VDR
|
||
|
|
||
|
//***************************************************************************
|
||
|
|
||
|
#endif // _SERVICE_H_
|