X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FDVB%2FDVBDemuxHandles.hh;h=e13ed32af297fe9c939f4c4180d4f954b6851b6c;hb=ab7ff164ab5ae711ec09ce2b24228510f1ffdcff;hp=9b4b73a3852fa0b3763c196d85c18f2adf2e28f9;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Socket/Protocols/DVB/DVBDemuxHandles.hh b/senf/Socket/Protocols/DVB/DVBDemuxHandles.hh index 9b4b73a..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 */ @@ -27,22 +32,22 @@ #define HH_SENF_Socket_Protocols_DVB_DVBDemuxHandles_ 1 // Custom includes -#include "../../../Socket/FramingPolicy.hh" -#include "../../../Socket/CommunicationPolicy.hh" -#include "../../../Socket/ReadWritePolicy.hh" -#include "../../../Socket/ProtocolClientSocketHandle.hh" +#include +#include +#include +#include #include "DVBDemuxSocketProtocol.hh" //#include "DVBDemuxHandles.mpp" #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"