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

88 lines
2.0 KiB
C
Raw 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 1.18 2002/11/30 14:36:04 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;
uint numChars;
char cmdLine[MAXPARSEBUFFER];
char *message;
time_t lastActivity;
void Close(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, ...);
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);
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 CmdMOVT(const char *Option);
void CmdNEWC(const char *Option);
void CmdNEWT(const char *Option);
void CmdNEXT(const char *Option);
2002-02-24 11:13:21 +01:00
void CmdPUTE(const char *Option);
2000-09-17 09:36:50 +02:00
void CmdUPDT(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);
char *GetMessage(void);
2000-07-23 15:01:31 +02:00
};
#endif //__SVDRP_H