/*
 * paused.hpp
 *
 *  Created on: 16/06/2013
 *      Author: timothyw
 */

#ifndef VICTIMID_STATE_VICTIM_HPP_
#define VICTIMID_STATE_VICTIM_HPP_

#include "victim_id/state.hpp"

#define VID_STATE_VICTIM    "state_victim"

namespace casualty {

class VIDSVictim : public VIDState {
public:
    VIDSVictim();
    ~VIDSVictim() {};

    void init(ros::NodeHandle& nh, VIDConfigPtr config);

protected:
    VIDSReturnDataPtr doExecute(VIDDataPtr data);

    // ROS subscriptions
    ros::Subscriber colourSub;
    ros::Subscriber distSub;

    // Stored images
    sensor_msgs::ImageConstPtr colourImage;
    sensor_msgs::ImageConstPtr distImage;

    // ROS Callbacks
    void callbackColourImage(const sensor_msgs::ImageConstPtr& latestImage);
    void callbackDistanceImage(const sensor_msgs::ImageConstPtr& latestImage);

    int nextId;         // Counter of the next snap id
};

} // namespace casualty

#endif /* VICTIMID_STATE_VICTIM_HPP_ */
