mirror of
https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
synced 2023-10-10 19:16:51 +02:00
client_socket-close_data_connection.patch by Petri Hintukainen
- Add member function to close data connection Modified Files: client/socket.c client/socket.h
This commit is contained in:
parent
2a4370b6a0
commit
ac4c391c43
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: socket.c,v 1.7 2007/01/15 11:45:48 schmirl Exp $
|
* $Id: socket.c,v 1.8 2007/04/24 10:57:34 schmirl Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <tools/select.h>
|
#include <tools/select.h>
|
||||||
@ -215,6 +215,24 @@ bool cClientSocket::CreateDataConnection(eSocketId Id) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cClientSocket::CloseDataConnection(eSocketId Id) {
|
||||||
|
//if (!CheckConnection()) return false;
|
||||||
|
|
||||||
|
CMD_LOCK;
|
||||||
|
|
||||||
|
if(Id == siLive || Id == siLiveFilter)
|
||||||
|
if (m_DataSockets[Id] != NULL) {
|
||||||
|
std::string command = (std::string)"ABRT " + (const char*)itoa(Id);
|
||||||
|
if (!Command(command, 220)) {
|
||||||
|
if (errno == 0)
|
||||||
|
esyslog("ERROR: Streamdev: Couldn't cleanly close data connection");
|
||||||
|
//return false;
|
||||||
|
}
|
||||||
|
DELETENULL(m_DataSockets[Id]);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool cClientSocket::SetChannelDevice(const cChannel *Channel) {
|
bool cClientSocket::SetChannelDevice(const cChannel *Channel) {
|
||||||
if (!CheckConnection()) return false;
|
if (!CheckConnection()) return false;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: socket.h,v 1.3 2005/02/08 17:22:35 lordjaxom Exp $
|
* $Id: socket.h,v 1.4 2007/04/24 10:57:34 schmirl Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef VDR_STREAMDEV_CLIENT_CONNECTION_H
|
#ifndef VDR_STREAMDEV_CLIENT_CONNECTION_H
|
||||||
@ -47,6 +47,7 @@ public:
|
|||||||
bool CheckConnection(void);
|
bool CheckConnection(void);
|
||||||
bool ProvidesChannel(const cChannel *Channel, int Priority);
|
bool ProvidesChannel(const cChannel *Channel, int Priority);
|
||||||
bool CreateDataConnection(eSocketId Id);
|
bool CreateDataConnection(eSocketId Id);
|
||||||
|
bool CloseDataConnection(eSocketId Id);
|
||||||
bool SetChannelDevice(const cChannel *Channel);
|
bool SetChannelDevice(const cChannel *Channel);
|
||||||
bool SetPid(int Pid, bool On);
|
bool SetPid(int Pid, bool On);
|
||||||
#if VDRVERSNUM >= 10300
|
#if VDRVERSNUM >= 10300
|
||||||
|
Loading…
Reference in New Issue
Block a user