00001 // 00002 // Created by pdmitrano on 4/1/15. 00003 // 00004 00005 #ifndef RAIL_USER_QUEUE_MANAGER_H_ 00006 #define RAIL_USER_QUEUE_MANAGER_H_ 00007 00008 #include <ros/ros.h> 00009 #include <rail_user_queue_manager/Queue.h> 00010 #include <rail_user_queue_manager/UserStatus.h> 00011 #include <rail_user_queue_manager/UpdateQueue.h> 00012 #include <deque> 00013 00014 namespace rail 00015 { 00016 class UserQueueManager 00017 { 00018 public: 00020 static const int LOOP_RATE = 1; 00022 static const int DEFAULT_TRIAL = 600; 00023 00027 UserQueueManager(); 00028 00029 private: 00031 std::deque<std::pair<int, int> > queue_; 00033 int countdown_; 00035 bool run_countdown_; 00037 ros::NodeHandle private_node_; 00038 00042 bool onUpdateQueue(rail_user_queue_manager::UpdateQueue::Request &req, 00043 rail_user_queue_manager::UpdateQueue::Response &res); 00044 00045 }; 00046 } 00047 00048 #endif