diff options
| -rw-r--r-- | p2pvr/carddaemon/Jamfile.jam | 1 | ||||
| -rw-r--r-- | p2pvr/carddaemon/carddaemon.cpp | 2 | ||||
| -rw-r--r-- | p2pvr/daemon/daemon.cpp | 2 | ||||
| -rw-r--r-- | p2pvr/daemon/schedulers/bitDumbScheduler.cpp | 2 | ||||
| -rw-r--r-- | p2pvr/daemon/schedules.cpp | 6 | ||||
| -rw-r--r-- | p2pvr/daemon/schedules.h | 4 | ||||
| -rw-r--r-- | p2pvr/daemon/unittests/testp2ice.cpp | 14 | ||||
| -rw-r--r-- | p2pvr/devices/frontend.cpp | 10 | ||||
| -rw-r--r-- | p2pvr/devices/frontend.h | 6 | ||||
| -rw-r--r-- | p2pvr/devices/frontends/ofdm.cpp | 2 | ||||
| -rw-r--r-- | p2pvr/devices/pch.hpp | 3 | ||||
| -rw-r--r-- | p2pvr/devices/tuner.cpp | 11 | ||||
| -rw-r--r-- | p2pvr/dvb/siParsers/network.cpp | 1 | ||||
| -rw-r--r-- | p2pvr/p2comp/recordingStream.cpp | 4 | ||||
| -rw-r--r-- | p2pvr/p2comp/serviceStream.cpp | 2 | 
15 files changed, 36 insertions, 34 deletions
| diff --git a/p2pvr/carddaemon/Jamfile.jam b/p2pvr/carddaemon/Jamfile.jam index 3598c3b..7088966 100644 --- a/p2pvr/carddaemon/Jamfile.jam +++ b/p2pvr/carddaemon/Jamfile.jam @@ -1,6 +1,7 @@  lib p2pvrcarddaemon :  	[ glob *.cpp ]  	: +	<library>..//adhocutil  	<library>../ice//p2pvrice  	<library>../devices//p2pvrdevices  	<library>../daemonbase//p2pvrdaemonbase diff --git a/p2pvr/carddaemon/carddaemon.cpp b/p2pvr/carddaemon/carddaemon.cpp index a9b9beb..0b234e5 100644 --- a/p2pvr/carddaemon/carddaemon.cpp +++ b/p2pvr/carddaemon/carddaemon.cpp @@ -15,5 +15,5 @@ class P2PvrCardDaemon : public DaemonBase {  		}  }; -DECLARE_GENERIC_LOADER("p2pvrcarddaemon", DaemonLoader, P2PvrCardDaemon); +NAMEDFACTORY("p2pvrcarddaemon", P2PvrCardDaemon, DaemonFactory); diff --git a/p2pvr/daemon/daemon.cpp b/p2pvr/daemon/daemon.cpp index 374a8b4..874ea3b 100644 --- a/p2pvr/daemon/daemon.cpp +++ b/p2pvr/daemon/daemon.cpp @@ -49,5 +49,5 @@ class P2PvrDaemon : public DaemonBase {  		}  }; -DECLARE_GENERIC_LOADER("p2pvrdaemon", DaemonLoader, P2PvrDaemon); +NAMEDFACTORY("p2pvrdaemon", P2PvrDaemon, DaemonFactory); diff --git a/p2pvr/daemon/schedulers/bitDumbScheduler.cpp b/p2pvr/daemon/schedulers/bitDumbScheduler.cpp index eb40431..1681103 100644 --- a/p2pvr/daemon/schedulers/bitDumbScheduler.cpp +++ b/p2pvr/daemon/schedulers/bitDumbScheduler.cpp @@ -51,5 +51,5 @@ class TheBitDumbScheduler : public EpisodeGroup {  		const Episodes episodes;  }; -DECLARE_GENERIC_LOADER("BitDumb", EpisodeGroupLoader, TheBitDumbScheduler); +NAMEDFACTORY("BitDumb", TheBitDumbScheduler, EpisodeGroupFactory); diff --git a/p2pvr/daemon/schedules.cpp b/p2pvr/daemon/schedules.cpp index 5e3881d..40d7863 100644 --- a/p2pvr/daemon/schedules.cpp +++ b/p2pvr/daemon/schedules.cpp @@ -10,7 +10,7 @@  #include "containerIterator.h"  #include "resources.h"  #include <boost/date_time/posix_time/posix_time.hpp> -#include <instanceStore.impl.h> +#include <factory.impl.h>  #include "sqlSelectDeserializer.h"  #include <slicer/slicer.h>  #include <p2pvr-int.h> @@ -246,7 +246,7 @@ Schedules::DoReschedule(const Ice::Current & ice)  		}  		Logger()->messagebf(LOG_DEBUG, "group complexity of %d options", total); -		EpisodeGroupPtr sched = EpisodeGroupPtr(EpisodeGroupLoader::createNew(SchedulerAlgorithm, group)); +		EpisodeGroupPtr sched = EpisodeGroupPtr(EpisodeGroupFactory::createNew(SchedulerAlgorithm, group));  		sched->tuners = tunerCount;  		std::set<ShowingPtr> selected;  		for (const auto & s : sched->Solve()) { @@ -346,5 +346,5 @@ Schedules::UpdateSchedule(const P2PVR::SchedulePtr & s, const Ice::Current & ice  	return s->ScheduleId;  } -INSTANTIATESTORE(std::string, EpisodeGroupLoader); +INSTANTIATEFACTORY(EpisodeGroup, const Episodes &); diff --git a/p2pvr/daemon/schedules.h b/p2pvr/daemon/schedules.h index 2ff9e0f..07f2c23 100644 --- a/p2pvr/daemon/schedules.h +++ b/p2pvr/daemon/schedules.h @@ -4,7 +4,7 @@  #include <p2pvr.h>  #include <options.h>  #include "dbClient.h" -#include <genLoader.h> +#include <factory.h>  typedef boost::posix_time::ptime datetime;  class Episode; @@ -77,7 +77,7 @@ class Schedules : public P2PVR::Schedules, public DatabaseClient {  		static std::string SchedulerAlgorithm;  }; -typedef GenLoader<EpisodeGroup, std::string, const Episodes &> EpisodeGroupLoader; +typedef AdHoc::Factory<EpisodeGroup, const Episodes &> EpisodeGroupFactory;  typedef boost::shared_ptr<EpisodeGroup> EpisodeGroupPtr;  #endif diff --git a/p2pvr/daemon/unittests/testp2ice.cpp b/p2pvr/daemon/unittests/testp2ice.cpp index 8229bf5..dc584b6 100644 --- a/p2pvr/daemon/unittests/testp2ice.cpp +++ b/p2pvr/daemon/unittests/testp2ice.cpp @@ -5,6 +5,8 @@  #include <definedDirs.h>  #include <sourceObject.h>  #include <testAppInstance.h> +#include <stream.h> +#include <rowSet.h>  const boost::filesystem::path variant = binDir.leaf();  const boost::filesystem::path compiler = binDir.parent_path().leaf(); @@ -15,19 +17,19 @@ static  void  commonTests()  { -	BOOST_REQUIRE(ElementLoader::getFor("p2pvrrecordingstream")); -	BOOST_REQUIRE(ElementLoader::getFor("p2pvrservicestream")); -	BOOST_REQUIRE(ElementLoader::getFor("P2PVR-SI-GetEvent")); +	BOOST_REQUIRE(StreamFactory::get("p2pvrrecordingstream")); +	BOOST_REQUIRE(StreamFactory::get("p2pvrservicestream")); +	BOOST_REQUIRE(RowSetFactory::get("P2PVR-SI-GetEvent"));  }  static  void  unloadTests()  { -	BOOST_REQUIRE_THROW(ElementLoader::getFor("P2PVR-SI-GetEvent"), NotSupported); +	BOOST_REQUIRE_THROW(RowSetFactory::get("P2PVR-SI-GetEvent"), AdHoc::NoSuchPluginException);  	// Known issue, these *should* unload, but for some reason, don't. -	BOOST_WARN_THROW(ElementLoader::getFor("p2pvrrecordingstream"), NotSupported); -	BOOST_WARN_THROW(ElementLoader::getFor("p2pvrservicestream"), NotSupported); +	BOOST_WARN_THROW(StreamFactory::get("p2pvrrecordingstream"), AdHoc::NoSuchPluginException); +	BOOST_WARN_THROW(StreamFactory::get("p2pvrservicestream"), AdHoc::NoSuchPluginException);  }  BOOST_GLOBAL_FIXTURE( TestAppInstance ); diff --git a/p2pvr/devices/frontend.cpp b/p2pvr/devices/frontend.cpp index 54870a1..5b9280b 100644 --- a/p2pvr/devices/frontend.cpp +++ b/p2pvr/devices/frontend.cpp @@ -4,7 +4,7 @@  #include <logger.h>  #include <sys/ioctl.h>  #include <linux/dvb/frontend.h> -#include <instanceStore.impl.h> +#include <factory.impl.h>  Frontend::Frontend(Tuner * t, int fd, const struct dvb_frontend_info & i) :  	tuner(t), @@ -35,5 +35,11 @@ Frontend::GetStatus() const  	return status;  } -INSTANTIATESTORE(fe_type, FrontendLoader); +std::string +Frontend::FactoryKey(fe_type t) +{ +	return stringbf("Frontend:%x", t); +} + +INSTANTIATEFACTORY(Frontend, Tuner *, int, const struct dvb_frontend_info &); diff --git a/p2pvr/devices/frontend.h b/p2pvr/devices/frontend.h index d33353d..b68cdba 100644 --- a/p2pvr/devices/frontend.h +++ b/p2pvr/devices/frontend.h @@ -2,7 +2,7 @@  #define P2PVR_FRONTEND_H  #include <linux/dvb/frontend.h> -#include <genLoader.h> +#include <factory.h>  #include <dvb.h>  class Tuner; @@ -19,13 +19,15 @@ class Frontend {  		virtual std::string Type() const = 0;  		const struct dvb_frontend_info & Info() const; +		static std::string FactoryKey(fe_type); +  	protected:  		const Tuner * tuner;  		const int frontendFD;  		const struct dvb_frontend_info fe_info;  }; -typedef GenLoader<Frontend, fe_type, Tuner *, int, const struct dvb_frontend_info &> FrontendLoader; +typedef AdHoc::Factory<Frontend, Tuner *, int, const struct dvb_frontend_info &> FrontendFactory;  typedef boost::shared_ptr<Frontend> FrontendPtr;  #endif diff --git a/p2pvr/devices/frontends/ofdm.cpp b/p2pvr/devices/frontends/ofdm.cpp index 93e0d86..cb174ba 100644 --- a/p2pvr/devices/frontends/ofdm.cpp +++ b/p2pvr/devices/frontends/ofdm.cpp @@ -155,5 +155,5 @@ class Frontend_OFDM : public Frontend {  		}  }; -DECLARE_GENERIC_LOADER(FE_OFDM, FrontendLoader, Frontend_OFDM); +NAMEDFACTORY(Frontend::FactoryKey(FE_OFDM), Frontend_OFDM, FrontendFactory); diff --git a/p2pvr/devices/pch.hpp b/p2pvr/devices/pch.hpp index 435ce48..0ccd5c0 100644 --- a/p2pvr/devices/pch.hpp +++ b/p2pvr/devices/pch.hpp @@ -15,9 +15,6 @@  #include <vector>  #include <thread> -#include <options.h> -#include <plugable.h> -  #endif  #endif diff --git a/p2pvr/devices/tuner.cpp b/p2pvr/devices/tuner.cpp index ea3ccad..f6df896 100644 --- a/p2pvr/devices/tuner.cpp +++ b/p2pvr/devices/tuner.cpp @@ -5,7 +5,7 @@  #include <sys/ioctl.h>  #include <poll.h>  #include <logger.h> -#include <plugable.h> +#include <factory.h>  #include <linux/dvb/frontend.h>  #include <linux/dvb/dmx.h>  #include <boost/tuple/tuple.hpp> @@ -14,13 +14,6 @@  #include "tunerSendSi.h"  #include "tunerSendTs.h" -class FrontendNotSupported : public NotSupported { -	public: -		FrontendNotSupported(fe_type t) : NotSupported(stringbf("Frontend not supported: %s", t)) -		{ -		} -}; -  Tuner::Tuner(const boost::filesystem::path & df) :  	deviceFrontend(df),  	deviceRoot(df.branch_path()), @@ -36,7 +29,7 @@ Tuner::Tuner(const boost::filesystem::path & df) :  		if (ioctl(fd, FE_GET_INFO, &fe_info) < 0) {  			throw P2PVR::DeviceError(deviceFrontend.string(), strerror(errno), errno);  		} -		frontend = FrontendPtr(FrontendLoader::createNew<FrontendNotSupported>(fe_info.type, this, fd, fe_info)); +		frontend = FrontendPtr(FrontendFactory::createNew(Frontend::FactoryKey(fe_info.type), this, fd, fe_info));  	}  	catch (...) {  		close(fd); diff --git a/p2pvr/dvb/siParsers/network.cpp b/p2pvr/dvb/siParsers/network.cpp index 6527d58..fb21683 100644 --- a/p2pvr/dvb/siParsers/network.cpp +++ b/p2pvr/dvb/siParsers/network.cpp @@ -3,6 +3,7 @@  #include <boost/bind.hpp>  #include <linux/dvb/frontend.h>  #include <safeMapFind.h> +#include <exceptions.h>  struct NetworkStreamsHeader {  #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ diff --git a/p2pvr/p2comp/recordingStream.cpp b/p2pvr/p2comp/recordingStream.cpp index 74d8ba0..fc1687a 100644 --- a/p2pvr/p2comp/recordingStream.cpp +++ b/p2pvr/p2comp/recordingStream.cpp @@ -14,7 +14,7 @@ class RecordingStream : public StreamBase {  		{  		} -		void runStream(const Sink & sink, ExecContext * ec) const +		void runStream(const Sink & sink, ExecContext * ec) const override  		{  			auto storage = ice->GetProxy<P2PVR::StoragePrx>("Storage", ec);  			assert(storage); @@ -75,5 +75,5 @@ class RecordingStream : public StreamBase {  		Variable recording;  }; -DECLARE_LOADER("p2pvrrecordingstream", RecordingStream); +NAMEDFACTORY("p2pvrrecordingstream", RecordingStream, StreamFactory); diff --git a/p2pvr/p2comp/serviceStream.cpp b/p2pvr/p2comp/serviceStream.cpp index 323234f..3702787 100644 --- a/p2pvr/p2comp/serviceStream.cpp +++ b/p2pvr/p2comp/serviceStream.cpp @@ -53,5 +53,5 @@ END_OPTIONS(ServiceStream);  std::string ServiceStream::muxerCommand; -DECLARE_LOADER("p2pvrservicestream", ServiceStream); +NAMEDFACTORY("p2pvrservicestream", ServiceStream, StreamFactory); | 
