vdr  2.2.0
svdrp.h
Go to the documentation of this file.
1 /*
2  * svdrp.h: Simple Video Disk Recorder Protocol
3  *
4  * See the main source file 'vdr.c' for copyright information and
5  * how to reach the author.
6  *
7  * $Id: svdrp.h 3.2 2013/10/21 07:42:03 kls Exp $
8  */
9 
10 #ifndef __SVDRP_H
11 #define __SVDRP_H
12 
13 #include "recording.h"
14 #include "tools.h"
15 
16 class cSocket {
17 private:
18  int port;
19  int sock;
20  int queue;
21  void Close(void);
22 public:
23  cSocket(int Port, int Queue = 1);
24  ~cSocket();
25  bool Open(void);
26  int Accept(void);
27  };
28 
29 class cPUTEhandler {
30 private:
31  FILE *f;
32  int status;
33  const char *message;
34 public:
35  cPUTEhandler(void);
36  ~cPUTEhandler();
37  bool Process(const char *s);
38  int Status(void) { return status; }
39  const char *Message(void) { return message; }
40  };
41 
42 class cSVDRP {
43 private:
48  int numChars;
49  int length;
50  char *cmdLine;
51  time_t lastActivity;
52  static char *grabImageDir;
53  void Close(bool SendReply = false, bool Timeout = false);
54  bool Send(const char *s, int length = -1);
55  void Reply(int Code, const char *fmt, ...) __attribute__ ((format (printf, 3, 4)));
56  void PrintHelpTopics(const char **hp);
57  void CmdCHAN(const char *Option);
58  void CmdCLRE(const char *Option);
59  void CmdDELC(const char *Option);
60  void CmdDELR(const char *Option);
61  void CmdDELT(const char *Option);
62  void CmdEDIT(const char *Option);
63  void CmdGRAB(const char *Option);
64  void CmdHELP(const char *Option);
65  void CmdHITK(const char *Option);
66  void CmdLSTC(const char *Option);
67  void CmdLSTE(const char *Option);
68  void CmdLSTR(const char *Option);
69  void CmdLSTT(const char *Option);
70  void CmdMESG(const char *Option);
71  void CmdMODC(const char *Option);
72  void CmdMODT(const char *Option);
73  void CmdMOVC(const char *Option);
74  void CmdMOVR(const char *Option);
75  void CmdNEWC(const char *Option);
76  void CmdNEWT(const char *Option);
77  void CmdNEXT(const char *Option);
78  void CmdPLAY(const char *Option);
79  void CmdPLUG(const char *Option);
80  void CmdPUTE(const char *Option);
81  void CmdREMO(const char *Option);
82  void CmdSCAN(const char *Option);
83  void CmdSTAT(const char *Option);
84  void CmdUPDT(const char *Option);
85  void CmdUPDR(const char *Option);
86  void CmdVOLU(const char *Option);
87  void Execute(char *Cmd);
88 public:
89  cSVDRP(int Port);
90  ~cSVDRP();
91  bool HasConnection(void) { return file.IsOpen(); }
92  bool Process(void);
93  static void SetGrabImageDir(const char *GrabImageDir);
94  };
95 
96 #endif //__SVDRP_H
void CmdMODT(const char *Option)
Definition: svdrp.c:1244
~cSocket()
Definition: svdrp.c:51
const char * Message(void)
Definition: svdrp.h:39
int port
Definition: svdrp.h:18
void CmdLSTT(const char *Option)
Definition: svdrp.c:1153
void CmdCLRE(const char *Option)
Definition: svdrp.c:554
Definition: svdrp.h:16
cRecordings recordings
Definition: svdrp.h:46
void CmdPLAY(const char *Option)
Definition: svdrp.c:1436
void CmdGRAB(const char *Option)
Definition: svdrp.c:764
int sock
Definition: svdrp.h:19
cPUTEhandler * PUTEhandler
Definition: svdrp.h:47
void CmdMOVC(const char *Option)
Definition: svdrp.c:1281
int Status(void)
Definition: svdrp.h:38
static char * grabImageDir
Definition: svdrp.h:52
void CmdLSTC(const char *Option)
Definition: svdrp.c:968
int Accept(void)
Definition: svdrp.c:107
void CmdNEWT(const char *Option)
Definition: svdrp.c:1398
bool Send(const char *s, int length=-1)
Definition: svdrp.c:422
void CmdHITK(const char *Option)
Definition: svdrp.c:929
time_t lastActivity
Definition: svdrp.h:51
void CmdEDIT(const char *Option)
Definition: svdrp.c:738
char * cmdLine
Definition: svdrp.h:50
int length
Definition: svdrp.h:49
bool IsOpen(void)
Definition: tools.h:395
void CmdNEXT(const char *Option)
Definition: svdrp.c:1417
bool Open(void)
Definition: svdrp.c:64
FILE * f
Definition: svdrp.h:31
cSocket socket
Definition: svdrp.h:44
void Execute(char *Cmd)
Definition: svdrp.c:1676
~cPUTEhandler()
Definition: svdrp.c:146
bool Process(const char *s)
Definition: svdrp.c:152
int queue
Definition: svdrp.h:20
void CmdDELT(const char *Option)
Definition: svdrp.c:709
void CmdCHAN(const char *Option)
Definition: svdrp.c:488
void CmdPLUG(const char *Option)
Definition: svdrp.c:1479
void CmdUPDR(const char *Option)
Definition: svdrp.c:1646
const char * message
Definition: svdrp.h:33
void CmdMODC(const char *Option)
Definition: svdrp.c:1206
void CmdDELC(const char *Option)
Definition: svdrp.c:619
int status
Definition: svdrp.h:32
void CmdHELP(const char *Option)
Definition: svdrp.c:901
cSocket(int Port, int Queue=1)
Definition: svdrp.c:44
void CmdREMO(const char *Option)
Definition: svdrp.c:1575
void CmdUPDT(const char *Option)
Definition: svdrp.c:1614
void CmdPUTE(const char *Option)
Definition: svdrp.c:1550
int numChars
Definition: svdrp.h:48
void CmdVOLU(const char *Option)
Definition: svdrp.c:1652
void Reply(int Code, const char *fmt,...) __attribute__((format(printf
Definition: svdrp.c:434
void CmdMESG(const char *Option)
Definition: svdrp.c:1195
Definition: svdrp.h:42
static void SetGrabImageDir(const char *GrabImageDir)
Definition: svdrp.c:1808
void CmdLSTR(const char *Option)
Definition: svdrp.c:1093
void CmdMOVR(const char *Option)
Definition: svdrp.c:1334
void Close(bool SendReply=false, bool Timeout=false)
Definition: svdrp.c:407
void Close(void)
Definition: svdrp.c:56
void CmdDELR(const char *Option)
Definition: svdrp.c:682
cPUTEhandler(void)
Definition: svdrp.c:133
void CmdNEWC(const char *Option)
Definition: svdrp.c:1374
void CmdSTAT(const char *Option)
Definition: svdrp.c:1599
void void PrintHelpTopics(const char **hp)
Definition: svdrp.c:462
Definition: tools.h:383
bool Process(void)
Definition: svdrp.c:1730
void CmdLSTE(const char *Option)
Definition: svdrp.c:1010
cFile file
Definition: svdrp.h:45
void CmdSCAN(const char *Option)
Definition: svdrp.c:1593
bool HasConnection(void)
Definition: svdrp.h:91