29 #ifndef _TRM_RESERVATION_FILTER_H
30 #define _TRM_RESERVATION_FILTER_H
36 #include "trm/TunerState.h"
37 #include "trm/TunerReservation.h"
50 ByReservationEndBefore,
64 extern Tuner::IdList & Filter_ByTunerId(
const std::string &tunerId, Tuner::IdList &tuners);
65 extern Tuner::IdList & Filter_ByTunerState(
const Enum<TunerState> &state, Tuner::IdList &tuners);
66 extern Tuner::IdList & Filter_ByTunerLocator(
const std::string &serviceLocator, Tuner::IdList &tuners);
67 extern Tuner::IdList & Filter_ByTunerEndBefore(
const uint64_t &endTime, Tuner::IdList &tuners,
const Activity &activity);
69 extern TunerReservation::TokenList & Filter_ByActivity(
const Enum<Activity> &activity, TunerReservation::TokenList &reservations);
70 extern TunerReservation::TokenList & Filter_ByStartAfter(
const uint64_t &startTime, TunerReservation::TokenList &reservations);
71 extern TunerReservation::TokenList & Filter_ReservationByToken(
const std::string &token, TunerReservation::TokenList &reservations);
72 extern TunerReservation::TokenList & Filter_ReservationByDevice(
const std::string &device, TunerReservation::TokenList &reservations);
73 extern TunerReservation::TokenList & Filter_ReservationByAttribute(
const bool &inConflict, TunerReservation::TokenList &reservations);
74 extern TunerReservation::TokenList & Filter_ByReservationLocator(
const std::string &serviceLocator, TunerReservation::TokenList &reservations);
75 extern TunerReservation::TokenList & Filter_ByReservationEndBefore(
const uint64_t &endTime, TunerReservation::TokenList &reservations);
76 extern TunerReservation::TokenList & Filter_ByReservationState(
int state, TunerReservation::TokenList &reservations);
78 template<
int i,
typename T1,
class T2>
79 T2 & Filter(
const T1 &, T2 &t2) {
85 Tuner::IdList & Filter<ByTunerId>(
const std::string &tunerId, Tuner::IdList &tuners);
87 Tuner::IdList & Filter<ByTunerState>(
const Enum<TunerState> &state, Tuner::IdList &tuners);
89 Tuner::IdList & Filter<ByTunerLocator>(
const std::string &serviceLocator, Tuner::IdList &tuners);
91 Tuner::IdList & Filter<ByTunerEndBefore>(
const uint64_t &endTime, Tuner::IdList &tuners);
94 TunerReservation::TokenList & Filter<ByActivity>(
const Enum<Activity> &activity, TunerReservation::TokenList &reservations);
96 TunerReservation::TokenList & Filter<ByStartAfter>(
const uint64_t &startTime, TunerReservation::TokenList &reservations);
98 TunerReservation::TokenList & Filter<ByReservationEndBefore>(
const uint64_t &endTime, TunerReservation::TokenList &reservations);
100 TunerReservation::TokenList & Filter<ByToken>(
const std::string &token, TunerReservation::TokenList &reservations);
102 TunerReservation::TokenList & Filter<ByDevice>(
const std::string &device, TunerReservation::TokenList &reservations);
104 TunerReservation::TokenList & Filter<ByInConflict>(
const bool &inConflict, TunerReservation::TokenList &reservations);
106 TunerReservation::TokenList & Filter<ByReservationLocator>(
const std::string &serviceLocator, TunerReservation::TokenList &reservations);
108 TunerReservation::TokenList & Filter<ByReservationState>(
const int &state, TunerReservation::TokenList &reservations);