RDK Documentation (Open Sourced RDK Components)
ReservationTimerTask.h
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 
21 /**
22 * @defgroup trm
23 * @{
24 * @defgroup qtapp
25 * @{
26 **/
27 
28 
29 #include "trm/TunerReservation.h"
30 #include "trm/Timer.h"
31 
32 #ifndef TRM_RESERVATION_TIMER_TASK_H_
33 #define TRM_RESERVATION_TIMER_TASK_H_
34 
35 TRM_BEGIN_NAMESPACE
36 
37 class ReservationExpirationTimerTask : public TimerTask
38 {
39 public:
40  ReservationExpirationTimerTask(Timer &timer, const std::string &reservationToken);
42  TimerTask *clone() {return new ReservationExpirationTimerTask(*this);};
43 
44  void run(void);
45  Timer & getTimer(void);
46 
47 private:
48  Timer &timer;
49  const std::string reservationToken;
50 };
51 
52 class ReservationStartTimerTask : public TimerTask
53 {
54 public:
55  ReservationStartTimerTask(Timer &timer, const std::string &reservationToken);
57  TimerTask *clone() {return new ReservationStartTimerTask(*this);};
58 
59  void run(void);
60  Timer & getTimer(void);
61 
62 private:
63  Timer &timer;
64  const std::string reservationToken;
65 };
66 
67 class ReservationPreStartTimerTask : public TimerTask
68 {
69 public:
70  ReservationPreStartTimerTask(Timer &timer, const std::string &reservationToken);
72  TimerTask *clone() {return new ReservationPreStartTimerTask(*this);};
73 
74  void run(void);
75  Timer & getTimer(void);
76 
77 private:
78  Timer &timer;
79  const std::string reservationToken;
80 };
81 
82 class PendingRequestTimeoutTimerTask : public TimerTask
83 {
84 public:
85  PendingRequestTimeoutTimerTask(Timer &timer, const std::string &uuid);
87  TimerTask *clone() {return new PendingRequestTimeoutTimerTask(*this);};
88 
89  void run(void);
90  Timer & getTimer(void);
91 
92 private:
93  Timer &timer;
94  const std::string uuid;
95 };
96 
97 
98 TRM_END_NAMESPACE
99 #endif
100 
101 
102 /** @} */
103 /** @} */
ReservationExpirationTimerTask
Definition: ReservationTimerTask.h:37
ReservationPreStartTimerTask
Definition: ReservationTimerTask.h:67
ReservationStartTimerTask
Definition: ReservationTimerTask.h:52
Timer
Definition: timer.h:42
PendingRequestTimeoutTimerTask
Definition: ReservationTimerTask.h:82