Skip to content
Snippets Groups Projects
Commit 6f98e372 authored by tho's avatar tho
Browse files

DVBFrontendHandle: clean-up the signalStrength method signature and documentation update

parent 5aa40ceb
No related branches found
No related tags found
No related merge requests found
...@@ -40,14 +40,15 @@ ...@@ -40,14 +40,15 @@
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// senf::DVBFrontendHandle // senf::DVBFrontendHandle
prefix_ void senf::DVBFrontendSocketProtocol::init_client(uint8_t adapter, boost::uint8_t device) prefix_ void senf::DVBFrontendSocketProtocol::init_client(boost::uint8_t adapter, boost::uint8_t device)
const const
{ {
std::string devFrontend = str( boost::format( std::string devFrontend = str( boost::format(
"/dev/dvb/adapter%d/frontend%d") % adapter % device); "/dev/dvb/adapter%d/frontend%d") % adapter % device);
int f = open(devFrontend.c_str(), O_RDONLY | O_NONBLOCK); int f = open(devFrontend.c_str(), O_RDONLY | O_NONBLOCK);
if (f < 0) if (f < 0)
SENF_THROW_SYSTEM_EXCEPTION("") << "Could not open frontend device of DVB adapter " << devFrontend << "."; SENF_THROW_SYSTEM_EXCEPTION("")
<< "Could not open frontend device of DVB adapter " << devFrontend << ".";
fd(f); fd(f);
} }
...@@ -63,18 +64,20 @@ prefix_ bool senf::DVBFrontendSocketProtocol::eof() ...@@ -63,18 +64,20 @@ prefix_ bool senf::DVBFrontendSocketProtocol::eof()
return false; return false;
} }
prefix_ void senf::DVBFrontendSocketProtocol::signalStrength(int16_t *strength) prefix_ int16_t senf::DVBFrontendSocketProtocol::signalStrength()
const const
{ {
if (::ioctl(fd(), FE_READ_SIGNAL_STRENGTH, strength) < 0) int16_t strength;
if (::ioctl(fd(), FE_READ_SIGNAL_STRENGTH, &strength) < 0)
SENF_THROW_SYSTEM_EXCEPTION("Could not get signal strength of DVB adapter."); SENF_THROW_SYSTEM_EXCEPTION("Could not get signal strength of DVB adapter.");
return strength;
} }
///////////////////////////////cc.e//////////////////////////////////////// ///////////////////////////////cc.e////////////////////////////////////////
#undef prefix_ #undef prefix_
//#include "DVBFrontendHandle.mpp" //#include "DVBFrontendHandle.mpp"
// Local Variables: // Local Variables:
// mode: c++ // mode: c++
// fill-column: 100 // fill-column: 100
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
// Custom includes // Custom includes
#include <boost/cstdint.hpp> #include <boost/cstdint.hpp>
#include <linux/dvb/frontend.h> #include <linux/dvb/frontend.h>
#include "../../../Socket/FramingPolicy.hh" #include "../../../Socket/FramingPolicy.hh"
#include "../../../Socket/CommunicationPolicy.hh" #include "../../../Socket/CommunicationPolicy.hh"
#include "../../../Socket/ReadWritePolicy.hh" #include "../../../Socket/ReadWritePolicy.hh"
...@@ -49,9 +49,11 @@ namespace senf { ...@@ -49,9 +49,11 @@ namespace senf {
UnconnectedCommunicationPolicy, UnconnectedCommunicationPolicy,
NotReadablePolicy, NotReadablePolicy,
NotWriteablePolicy NotWriteablePolicy
>::policy DVBFrontend_Policy; ///< Socket Policy for xxxx >::policy DVBFrontend_Policy; ///< Socket Policy for DVBFrontendSocketProtocol
/** \brief xxx /** \brief SocketProtocol for the dvb frontend device
The DVB frontend device controls the tuner and DVB demodulator hardware.
*/ */
class DVBFrontendSocketProtocol class DVBFrontendSocketProtocol
: public ConcreteSocketProtocol<DVBFrontend_Policy, DVBFrontendSocketProtocol> : public ConcreteSocketProtocol<DVBFrontend_Policy, DVBFrontendSocketProtocol>
...@@ -63,7 +65,8 @@ namespace senf { ...@@ -63,7 +65,8 @@ namespace senf {
///\name Constructors ///\name Constructors
///@{ ///@{
void init_client(boost::uint8_t adapter=0, boost::uint8_t device=0) const; ///< xxx void init_client(boost::uint8_t adapter=0, boost::uint8_t device=0) const;
///< Opens the specified frontend device in read-only mode.
/**< \note This member is implicitly called from the /**< \note This member is implicitly called from the
ProtocolClientSocketHandle::ProtocolClientSocketHandle() ProtocolClientSocketHandle::ProtocolClientSocketHandle()
constructor */ constructor */
...@@ -71,13 +74,19 @@ namespace senf { ...@@ -71,13 +74,19 @@ namespace senf {
///@} ///@}
///\name Abstract Interface Implementation ///\name Abstract Interface Implementation
///@{ ///@{
unsigned available() const; unsigned available() const; ///< Returns always <tt>0</tt>
bool eof() const; /**< Returns always <tt>0</tt>, since the DVB frontend
socket is not readable. */
bool eof() const; ///< Returns always <tt>false</tt>
/**< Returns always <tt>false</tt>, since the DVB frontend
socket does not support the notion of EOF. */
///@} ///@}
void signalStrength(int16_t *strength) const; int16_t signalStrength() const; ///< Return current signal strength
/**< Returns the signal strength value for the signal
currently received by the front-end. */
}; };
typedef ProtocolClientSocketHandle<DVBFrontendSocketProtocol> DVBFrontendHandle; typedef ProtocolClientSocketHandle<DVBFrontendSocketProtocol> DVBFrontendHandle;
...@@ -92,7 +101,7 @@ namespace senf { ...@@ -92,7 +101,7 @@ namespace senf {
//#include "DVBFrontendHandle.cti" //#include "DVBFrontendHandle.cti"
#endif #endif
// Local Variables: // Local Variables:
// mode: c++ // mode: c++
// fill-column: 100 // fill-column: 100
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment