// $Id: ULEdec.cc 355 2007-07-26 14:17:02Z tho $
//
// Copyright (C) 2007
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-// Thorsten Horstmann <thorsten.horstmann@fokus.fraunhofer.de>
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Thorsten Horstmann <tho@berlios.de>
//
// 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
private:
typedef senf::PacketData::iterator iterator;
-
+
enum ReceiverState {
Idle,
Reassembly
};
-
+
senf::DVBDemuxPESHandle demuxHandle;
senf::DVBDvrHandle dvrHandle;
-
+
senf::SNDUPacket snduPacket;
-
+
ReceiverState receiver_state;
unsigned char priv_tscc;
bool priv_sndu_type_1;
iterator snduPacketData_iter;
- void handleEvent(senf::FileHandle, senf::Scheduler::EventId event);
+ void handleEvent(senf::Scheduler::EventId event);
void handleTSPacket(senf::TransportPacket tsPacket);
void handleSNDUPacket();
-
+
iterator readNewSNDUPacket(iterator i, const iterator i_end);
iterator readContSNDUPacket(iterator i, const iterator i_end);
iterator readRawSNDUPacketData(iterator i, iterator const i_end);
-
- inline bool isSDNUPacketComplete();
+
+ inline bool isSDNUPacketComplete();
inline iterator::difference_type snduPacketBytesLeft();
-
+
};
-struct ULEdecException : public std::exception
+struct ULEdecException : public senf::Exception
{
- ULEdecException(char const * what) : what_(what) {};
- ULEdecException(std::string const what) : what_(what) {};
- virtual char const * what() const throw() { return what_.c_str(); }
- virtual ~ULEdecException() throw() {};
- std::string what_;
+ ULEdecException(std::string const & what)
+ : senf::Exception(what) {}
};
// c-file-style: "senf"
// indent-tabs-mode: nil
// ispell-local-dictionary: "american"
-// compile-command: "scons -u test"
+// compile-command: "scons -u"
// comment-column: 40
// End: