00001 /********************************************************************* 00002 * Software License Agreement (CC BY-NC-SA 4.0 License) 00003 * 00004 * Copyright (c) 2014, PAL Robotics, S.L. 00005 * All rights reserved. 00006 * 00007 * This work is licensed under the Creative Commons 00008 * Attribution-NonCommercial-ShareAlike 4.0 International License. 00009 * 00010 * To view a copy of this license, visit 00011 * http://creativecommons.org/licenses/by-nc-sa/4.0/ 00012 * or send a letter to 00013 * Creative Commons, 444 Castro Street, Suite 900, 00014 * Mountain View, California, 94041, USA. 00015 *********************************************************************/ 00016 00017 /* 00018 * @author Enrique Fernandez 00019 */ 00020 00021 #ifndef TWIST_MUX_DIAGNOSTICS_STATUS_H 00022 #define TWIST_MUX_DIAGNOSTICS_STATUS_H 00023 00024 #include <twist_mux/twist_mux.h> 00025 #include <twist_mux/topic_handle.h> 00026 00027 #include <ros/time.h> 00028 00029 namespace twist_mux 00030 { 00031 00032 struct TwistMuxDiagnosticsStatus 00033 { 00034 typedef boost::shared_ptr<TwistMuxDiagnosticsStatus> Ptr; 00035 typedef boost::shared_ptr<const TwistMuxDiagnosticsStatus> ConstPtr; 00036 00037 double reading_age; 00038 ros::Time last_loop_update; 00039 double main_loop_time; 00040 00041 LockTopicHandle::priority_type priority; 00042 00043 boost::shared_ptr<TwistMux::velocity_topic_container> velocity_hs; 00044 boost::shared_ptr<TwistMux::lock_topic_container> lock_hs; 00045 00046 TwistMuxDiagnosticsStatus() 00047 : reading_age(0), 00048 last_loop_update(ros::Time::now()), 00049 main_loop_time(0), 00050 priority(0) 00051 { 00052 } 00053 }; 00054 00055 typedef TwistMuxDiagnosticsStatus::Ptr TwistMuxDiagnosticsStatusPtr; 00056 typedef TwistMuxDiagnosticsStatus::ConstPtr TwistMuxDiagnosticsStatusConstPtr; 00057 00058 } // namespace twist_mux 00059 00060 #endif // TWIST_MUX_DIAGNOSTICS_STATUS_H