X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FDVB%2FDVBDemuxHandles.cc;h=e54b3f92c17ed185a6152c5dbbf5461556d87dfb;hb=6f50bf49e282c0528f51faa0a245bbfa2b867399;hp=b0e83ab2397e32e75b62f5738eae2789fa9ff075;hpb=ceba483d966a9fd884b30fb9dac07156b29a4b31;p=senf.git diff --git a/Socket/Protocols/DVB/DVBDemuxHandles.cc b/Socket/Protocols/DVB/DVBDemuxHandles.cc index b0e83ab..e54b3f9 100644 --- a/Socket/Protocols/DVB/DVBDemuxHandles.cc +++ b/Socket/Protocols/DVB/DVBDemuxHandles.cc @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Thorsten Horstmann +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Thorsten Horstmann // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ #include #include #include -#include "Utils/Exception.hh" +#include "../../../Utils/Exception.hh" //#include "DVBDemuxHandles.mpp" #define prefix_ @@ -45,10 +45,10 @@ prefix_ void senf::DVBDemuxSectionProtocol::init_client(unsigned short adapter, { std::string devDemux = str( boost::format( "/dev/dvb/adapter%d/demux%d") % adapter % device); - int fd = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); - if (fd < 0) - throw SystemException(errno); - body().fd(fd); + int f = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); + if (f < 0) + throwErrno(); + fd(f); } prefix_ unsigned senf::DVBDemuxSectionProtocol::available() @@ -57,17 +57,11 @@ prefix_ unsigned senf::DVBDemuxSectionProtocol::available() return 4096; } -prefix_ std::auto_ptr senf::DVBDemuxSectionProtocol::clone() - const -{ - return std::auto_ptr(new DVBDemuxSectionProtocol()); -} - prefix_ void senf::DVBDemuxSectionProtocol::setSectionFilter(struct dmx_sct_filter_params *filter) const { - if (::ioctl(body().fd(), DMX_SET_FILTER, filter) < 0) - throw SystemException(errno); + if (::ioctl(fd(), DMX_SET_FILTER, filter) < 0) + throwErrno(); } // ---------------------------------------------------------------- @@ -77,10 +71,10 @@ prefix_ void senf::DVBDemuxPESProtocol::init_client(unsigned short adapter, unsi { std::string devDemux = str( boost::format( "/dev/dvb/adapter%d/demux%d") % adapter % device); - int fd = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); - if (fd < 0) - throw SystemException(errno); - body().fd(fd); + int f = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); + if (f < 0) + throwErrno(); + fd(f); } prefix_ unsigned senf::DVBDemuxPESProtocol::available() @@ -89,17 +83,11 @@ prefix_ unsigned senf::DVBDemuxPESProtocol::available() return 4096; //??? } -prefix_ std::auto_ptr senf::DVBDemuxPESProtocol::clone() - const -{ - return std::auto_ptr(new DVBDemuxPESProtocol()); -} - prefix_ void senf::DVBDemuxPESProtocol::setPESFilter(struct dmx_pes_filter_params *filter) const { - if (::ioctl(body().fd(), DMX_SET_PES_FILTER, filter) < 0) - throw SystemException(errno); + if (::ioctl(fd(), DMX_SET_PES_FILTER, filter) < 0) + throwErrno(); } // ---------------------------------------------------------------- @@ -109,10 +97,10 @@ prefix_ void senf::DVBDvrProtocol::init_client(unsigned short adapter, unsigned { std::string devDvr = str( boost::format( "/dev/dvb/adapter%d/dvr%d") % adapter % device); - int fd = open(devDvr.c_str(), O_RDONLY | O_NONBLOCK); - if (fd < 0) - throw SystemException(errno); - body().fd(fd); + int f = open(devDvr.c_str(), O_RDONLY | O_NONBLOCK); + if (f < 0) + throwErrno(); + fd(f); } prefix_ unsigned senf::DVBDvrProtocol::available() @@ -121,12 +109,6 @@ prefix_ unsigned senf::DVBDvrProtocol::available() return 188; } -prefix_ std::auto_ptr senf::DVBDvrProtocol::clone() - const -{ - return std::auto_ptr(new DVBDvrProtocol()); -} - ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ //#include "DVBDemuxHandles.mpp"