vdr/svdrp.h
Klaus Schmidinger bb18b9e0b4 Version 0.94
- Implemented automatic shutdown (see INSTALL and MANUAL for details).
- New SVDRP command NEXT to show the next timer event.
- The new remote control key "Power" can be used to turn the VDR machine
  off (this requires the presence of the '-s' option).
- Fixed code for the default "Ok" button on the PC keyboard (was 0x162 on
  the "good old" keyboards (with the F-keys at the left side), while it changed
  to 0x15E on the newer keyboards).
- When a recording is edited, the summary information (if present) is now
  also copied.
- When a recording is running on the primary interface, any attempt to change
  the current channel will now lead to a "Channel locked" message.
- The main program loop now first checks whether any timer recordings are
  finished, before starting a new timer recording. This is important in case
  one timer ends at the same time another timer starts.
- New setup parameter OSDMessageTime to define how long an OSD message shall
  be displayed.
- The "File" parameter of a timer can now contain the '~' character to store
  the recording in a hierarchical directory structure. The '~' character has
  been chosen since the file system's directory delimiter '/' may be part of
  a regular programme name (showing the directory hierarchy in the "Recordings"
  menu will follow later).
- Repeating timers now create recordings that contain the 'Subtitle' information
  from the EPG data in their file name. Typically (on tv stations that care
  about their viewers) this contains the episode title of a series. The
  subtitle is appended to the timer's file name, separated by a '~' character,
  so that it results in all recordings of this timer being collected in a
  common subdirectory. You can disable this with the 'UseSubtitle' parameter
  in the "Setup" menu.
- The summary information is now taken from the EPG data at the actual time of
  recording (no longer at the time the timer is created in the "Schedule" menu).
  If a timer already has summary data, that data will be used. If you have
  repeating timers in your 'timers.conf', you may want to make sure they do
  NOT contain any summary information (that's the last field in the timer
  definitions). Use your favourite text editor to delete that information.
  That way every recording will store the actual summary data at the time of
  the recording.
2001-09-02 18:00:00 +02:00

75 lines
1.7 KiB
C++

/*
* svdrp.h: Simple Video Disk Recorder Protocol
*
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: svdrp.h 1.10 2001/09/01 09:24:50 kls Exp $
*/
#ifndef __SVDRP_H
#define __SVDRP_H
#include "dvbapi.h"
#include "tools.h"
class cSocket {
private:
int port;
int sock;
int queue;
void Close(void);
public:
cSocket(int Port, int Queue = 1);
~cSocket();
bool Open(void);
int Accept(void);
};
#define MAXCMDBUFFER 1024
class cSVDRP {
private:
cSocket socket;
cFile file;
CRect ovlClipRects[MAXCLIPRECTS];
uint numChars;
char cmdLine[MAXCMDBUFFER];
char *message;
time_t lastActivity;
void Close(bool Timeout = false);
bool Send(const char *s, int length = -1);
void Reply(int Code, const char *fmt, ...);
void CmdCHAN(const char *Option);
void CmdDELC(const char *Option);
void CmdDELT(const char *Option);
void CmdGRAB(const char *Option);
void CmdHELP(const char *Option);
void CmdHITK(const char *Option);
void CmdLSTC(const char *Option);
void CmdLSTE(const char *Option);
void CmdLSTT(const char *Option);
void CmdMESG(const char *Option);
void CmdMODC(const char *Option);
void CmdMODT(const char *Option);
void CmdMOVC(const char *Option);
void CmdMOVT(const char *Option);
void CmdNEWC(const char *Option);
void CmdNEWT(const char *Option);
void CmdNEXT(const char *Option);
void CmdOVLF(const char *Option);
void CmdOVLG(const char *Option);
void CmdOVLC(const char *Option);
void CmdOVLP(const char *Option);
void CmdOVLO(const char *Option);
void CmdUPDT(const char *Option);
void Execute(char *Cmd);
public:
cSVDRP(int Port);
~cSVDRP();
void Process(void);
char *GetMessage(void);
};
#endif //__SVDRP_H