1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00
vdr/svdrp.h

96 lines
2.4 KiB
C
Raw Permalink Normal View History

2000-07-23 15:01:31 +02:00
/*
* 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 2.3 2012/04/26 10:30:06 kls Exp $
2000-07-23 15:01:31 +02:00
*/
#ifndef __SVDRP_H
#define __SVDRP_H
#include "recording.h"
#include "tools.h"
2000-07-23 15:01:31 +02:00
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);
};
2002-02-24 11:13:21 +01:00
class cPUTEhandler {
private:
FILE *f;
int status;
const char *message;
public:
cPUTEhandler(void);
~cPUTEhandler();
bool Process(const char *s);
int Status(void) { return status; }
const char *Message(void) { return message; }
};
2000-07-23 15:01:31 +02:00
class cSVDRP {
private:
cSocket socket;
cFile file;
cRecordings recordings;
2002-02-24 11:13:21 +01:00
cPUTEhandler *PUTEhandler;
int numChars;
int length;
char *cmdLine;
time_t lastActivity;
static char *grabImageDir;
void Close(bool SendReply = false, bool Timeout = false);
2000-07-23 15:01:31 +02:00
bool Send(const char *s, int length = -1);
void Reply(int Code, const char *fmt, ...) __attribute__ ((format (printf, 3, 4)));
2005-08-27 16:42:28 +02:00
void PrintHelpTopics(const char **hp);
2000-09-17 09:36:50 +02:00
void CmdCHAN(const char *Option);
2002-08-25 10:49:02 +02:00
void CmdCLRE(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdDELC(const char *Option);
void CmdDELR(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdDELT(const char *Option);
2005-08-28 14:18:24 +02:00
void CmdEDIT(const char *Option);
2000-09-17 11:53:35 +02:00
void CmdGRAB(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdHELP(const char *Option);
void CmdHITK(const char *Option);
void CmdLSTC(const char *Option);
void CmdLSTE(const char *Option);
void CmdLSTR(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdLSTT(const char *Option);
void CmdMESG(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdMODC(const char *Option);
void CmdMODT(const char *Option);
void CmdMOVC(const char *Option);
void CmdNEWC(const char *Option);
void CmdNEWT(const char *Option);
void CmdNEXT(const char *Option);
void CmdPLAY(const char *Option);
2005-08-27 16:42:28 +02:00
void CmdPLUG(const char *Option);
2002-02-24 11:13:21 +01:00
void CmdPUTE(const char *Option);
2007-04-30 12:53:35 +02:00
void CmdREMO(const char *Option);
2004-01-17 15:41:52 +01:00
void CmdSCAN(const char *Option);
2003-04-27 14:23:30 +02:00
void CmdSTAT(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdUPDT(const char *Option);
2011-12-04 13:58:33 +01:00
void CmdUPDR(const char *Option);
2002-03-09 10:07:40 +01:00
void CmdVOLU(const char *Option);
2000-07-23 15:01:31 +02:00
void Execute(char *Cmd);
public:
cSVDRP(int Port);
~cSVDRP();
bool HasConnection(void) { return file.IsOpen(); }
2002-10-20 12:49:16 +02:00
bool Process(void);
static void SetGrabImageDir(const char *GrabImageDir);
2000-07-23 15:01:31 +02:00
};
#endif //__SVDRP_H