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

#ifndef VICTIMID_STATE_CAMERA_INSPECT_HPP_
#define VICTIMID_STATE_CAMERA_INSPECT_HPP_

#include "victim_id/state.hpp"

#include <std_msgs/String.h>

#define VID_STATE_CAMERA_INSPECT    "state_camera_inspect"

namespace casualty {

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

protected:
    VIDSReturnDataPtr doExecute(VIDDataPtr data);

    // ROS Subscriptions
    ros::ServiceClient lookAtClient;
    void callbackLookAt(const std_msgs::String& response);

    Point3D inspectPos;         // Position to inspect in the reference frame of the robot
    Point2D inspectVector;      // Inspect vector
    std::string inspectFrame;   // Frame of the point to inspect
    ros::Time start;            // Time since we started
    bool camArrived;            // Callback flag that the camera has arrived
};

} // namespace casualty

#endif /* VICTIMID_STATE_CAMERA_INSPECT_HPP_ */
