X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FDVB%2FDVBFrontendHandle.hh;h=da71b183b1731f1ac124c4203ec0880e143d9cb9;hb=1374f1e71bb61c93f6ec354fc10a932d10ee1c3c;hp=c1f628c56a2a01e76b8c931c3168831fa40f141a;hpb=fa696fb7164ff243f6b7c1c5bda35ed75af153dc;p=senf.git diff --git a/Socket/Protocols/DVB/DVBFrontendHandle.hh b/Socket/Protocols/DVB/DVBFrontendHandle.hh index c1f628c..da71b18 100644 --- a/Socket/Protocols/DVB/DVBFrontendHandle.hh +++ b/Socket/Protocols/DVB/DVBFrontendHandle.hh @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// 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 @@ -27,14 +27,13 @@ #define HH_DVBFrontendHandle_ 1 // Custom includes -#include "Socket/BufferingPolicy.hh" -#include "Socket/FramingPolicy.hh" -#include "Socket/CommunicationPolicy.hh" -#include "Socket/ReadWritePolicy.hh" -#include "Socket/ProtocolClientSocketHandle.hh" -#include "Socket/SocketProtocol.hh" - -#include +#include +#include +#include "../../../Socket/FramingPolicy.hh" +#include "../../../Socket/CommunicationPolicy.hh" +#include "../../../Socket/ReadWritePolicy.hh" +#include "../../../Socket/ProtocolClientSocketHandle.hh" +#include "../../../Socket/SocketProtocol.hh" //#include "DVBFrontendHandle.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -45,18 +44,19 @@ namespace senf { /// @{ typedef MakeSocketPolicy< - NoAddressingPolicy, + NoAddressingPolicy, DatagramFramingPolicy, UnconnectedCommunicationPolicy, NotReadablePolicy, - NotWriteablePolicy, - NoBufferingPolicy - >::policy DVBFrontend_Policy; ///< Socket Policy for xxxx + NotWriteablePolicy + >::policy DVBFrontend_Policy; ///< Socket Policy for DVBFrontendSocketProtocol + + /** \brief SocketProtocol for the dvb frontend device - /** \brief xxx + The DVB frontend device controls the tuner and DVB demodulator hardware. */ - class DVBFrontendProtocol - : public ConcreteSocketProtocol + class DVBFrontendSocketProtocol + : public ConcreteSocketProtocol { public: /////////////////////////////////////////////////////////////////////////// @@ -65,7 +65,8 @@ namespace senf { ///\name Constructors ///@{ - void init_client() 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 ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ @@ -73,18 +74,34 @@ namespace senf { ///@} ///\name Abstract Interface Implementation ///@{ - - unsigned available() const; - bool eof() const; - std::auto_ptr clone() const; + unsigned available() const; ///< Returns always 0 + /**< Returns always 0, since the DVB frontend + socket is not readable. */ + bool eof() const; ///< Returns always false + /**< Returns always false, since the DVB frontend + socket does not support the notion of EOF. */ ///@} - - void signalStrength(int16_t *strength) const; + + int16_t signalStrength() const; ///< Returns current signal strength + /**< Returns the signal strength value for the signal + currently received by the front-end. For this method, + read-only access to the device is sufficient.*/ + + int16_t signalNoiseRatio() const; + ///< Returns current signal-to-noise ratio + /**< Returns the signal-to-noise ratio for the signal + currently received by the front-end. For this method, + read-only access to the device is sufficient. */ + + uint32_t bitErrorRate() const; ///< Returns the current bit error rate for the signal + /**< Returns the bit error rate for the signal currently + received/demodulated by the front-end. For this method, + read-only access to the device is sufficient. */ }; - typedef ProtocolClientSocketHandle DVBFrontendHandle; + typedef ProtocolClientSocketHandle DVBFrontendHandle; ///@} } @@ -96,7 +113,7 @@ namespace senf { //#include "DVBFrontendHandle.cti" #endif - + // Local Variables: // mode: c++ // fill-column: 100