X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FDVB%2FDVBDemuxHandles.hh;h=e13ed32af297fe9c939f4c4180d4f954b6851b6c;hb=72cc548dfc3fa72d14d4d8c1a178f162165e933a;hp=fbf67d1717b891ee0f8acc58ce46b2b2463791cd;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Socket/Protocols/DVB/DVBDemuxHandles.hh b/senf/Socket/Protocols/DVB/DVBDemuxHandles.hh index fbf67d1..e13ed32 100644 --- a/senf/Socket/Protocols/DVB/DVBDemuxHandles.hh +++ b/senf/Socket/Protocols/DVB/DVBDemuxHandles.hh @@ -2,23 +2,28 @@ // // Copyright (C) 2007 // 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 -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Thorsten Horstmann /** \file \brief DVBDemuxHandles public header */ @@ -37,12 +42,12 @@ #include #include #include -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { /// \addtogroup concrete_protocol_group - /// @{ + //\{ typedef MakeSocketPolicy< NoAddressingPolicy, @@ -52,14 +57,14 @@ namespace senf { NotWriteablePolicy >::policy DVBDemux_Policy; ///< Socket Policy for xxxx - /** \brief Baseclass of various DVBProtocolWrappers which are defined in DVBProtocolWrapper.hh + /** \brief Baseclass of various DVBProtocolWrappers which are defined in DVBProtocolWrapper.hh */ class DVBProtocolWrapper :public boost::enable_shared_from_this { public: - DVBProtocolWrapper(){} - virtual ~DVBProtocolWrapper(){} + DVBProtocolWrapper() {} + virtual ~DVBProtocolWrapper() {} }; - /** \brief Baseclass for DVBSocketProtocols which want use Wrappers for console. + /** \brief Baseclass for DVBSocketProtocols which want use Wrappers for console. */ class DVBSocketProtocol : public virtual SocketProtocol { private: @@ -67,59 +72,60 @@ private: public: DVBSocketProtocol() {} ~DVBSocketProtocol() {} - - void addWrapper(boost::shared_ptr wrap)/**< Binds a wrapper to a DVBProtocol, - so if it is closed the functionality of the wrapper is automatically removed from console.*/ + + void addWrapper(boost::shared_ptr wrap)/**< Binds a wrapper to a DVBProtocol, + so if it is closed the functionality of the wrapper is automatically removed from console.*/ { wrap_ = wrap; } - virtual void close(){ + virtual void close() + { wrap_.reset(); SocketProtocol::close(); } }; - - + + class DVBDemuxSectionSocketProtocol : public ConcreteSocketProtocol, - public DVBDemuxSocketProtocol, + public DVBDemuxSocketProtocol, public DVBSocketProtocol { - + public: - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// // internal interface ///\name Constructors - ///@{ + //\{ void init_client(unsigned short adapter=0, unsigned short device=0) const; ///< xxx /**< \note This member is implicitly called from the ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ - ///@} + //\} ///\name Abstract Interface Implementation - ///@{ - + //\{ + unsigned available() const; - ///@} - - void setSectionFilter(unsigned short int pid, + //\} + + void setSectionFilter(unsigned short int pid, unsigned char filter= 0x3e, - unsigned int flags= DMX_IMMEDIATE_START | DMX_CHECK_CRC, - unsigned char mask = 0xff, + unsigned int flags= DMX_IMMEDIATE_START | DMX_CHECK_CRC, + unsigned char mask = 0xff, unsigned char mode =0x00, unsigned int timeout =0x00) const; - + }; typedef ProtocolClientSocketHandle DVBDemuxSectionHandle; - + // ---------------------------------------------------------------- - + /** \brief xxx */ class DVBDemuxPESSocketProtocol @@ -128,34 +134,34 @@ public: public DVBSocketProtocol { public: - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// // internal interface ///\name Constructors - ///@{ + //\{ void init_client(unsigned short adapter=0, unsigned short device=0) const; ///< xxx /**< \note This member is implicitly called from the ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ - ///@} + //\} ///\name Abstract Interface Implementation - ///@{ - + //\{ + unsigned available() const; - ///@} - - void setPESFilter(unsigned short int pid, dmx_input_t input, dmx_output_t output, dmx_pes_type_t pesType, unsigned int flags)const; + //\} + + void setPESFilter(unsigned short int pid, dmx_input_t input, dmx_output_t output, dmx_pes_type_t pesType, unsigned int flags)const; }; typedef ProtocolClientSocketHandle DVBDemuxPESHandle; - + // ---------------------------------------------------------------- - - + + /** \brief xxx */ class DVBDvrSocketProtocol @@ -163,33 +169,33 @@ public: public DVBDemuxSocketProtocol { public: - /////////////////////////////////////////////////////////////////////////// + //-//////////////////////////////////////////////////////////////////////// // internal interface ///\name Constructors - ///@{ + //\{ void init_client(unsigned short adapter=0, unsigned short device=0) const; ///< xxx /**< \note This member is implicitly called from the ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ - ///@} + //\} ///\name Abstract Interface Implementation - ///@{ - + //\{ + unsigned available() const; - ///@} + //\} }; typedef ProtocolClientSocketHandle DVBDvrHandle; - ///@} - + //\} + } -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// //#include "DVBDemuxHandles.cci" //#include "DVBDemuxHandles.ct" //#include "DVBDemuxHandles.cti"