// #ifndef _JFX_ROS_INTERFACE_H_
// #define _JFX_ROS_INTERFACE_H_

// #include <ros/ros.h>

// #include "MapMatching.hpp"
// #include "eyeq4_msgs/MeData.h"
// #include "gnss_imu_msgs/GNSS.h"
// #include "map_msgs/AheadMap.h"
// #include "map_msgs/GnssFootLocation.h"
// #include "map_msgs/GnssLocationData.h"
// #include "map_msgs/RtkData.h"
// #include "map_msgs/VisionMap.h"
// // #include "roadsim/GNSS.h"

// #include "sensor_msgs/CompressedImage.h"

// namespace zone {

// namespace fusion_localization {

// namespace map {

// class RosInterface {
//    public:
//     RosInterface(ros::NodeHandle& phpriv_nh, const std::string& prj_dir, const std::string& cfg_dir);
//     ~RosInterface();

//    public:
//     void ReceivePic(const sensor_msgs::CompressedImage::ConstPtr& msg);

//     void ReceiveGnss(const gnss_imu_msgs::GNSS::ConstPtr& msg);
//     void ReceiveEyeQ4Data(const eyeq4_msgs::MeData::ConstPtr& msg);
//     void ReceiveRtk(const map_msgs::RtkData::ConstPtr& msg);

//     void PublishGnssFootLoc(const IGnssFootLocation& msg);
//     void PublishAheadMap(const IAheadMap& msg);

//    private:
//     bool ConvertLanePos(int src, LaneMarkingSide& dst);
//     bool ConvertLaneColor(int src, HMC::LaneMarkingColor& dst);
//     bool ConvertLaneCross(int src_double, int src_single, HMC::LaneMarkingType& dst);
//     bool ConvertLinkPos(int src, LinkMarkingSide& dst);

//    private:
//     MapMatching mm_;

//     ros::Subscriber pic_sub_;

//     ros::Subscriber gps_sub_;

//     ros::Subscriber gnss_sub_;
//     ros::Subscriber eyeq4_data_sub_;
//     ros::Subscriber rtk_sub_;

//     ros::Publisher ahead_map_pub_;
//     ros::Publisher gnss_foot_pub_;
// };

// }  // namespace map

// }  // namespace fusion_localization

// }  // namespace zone
// #endif  // _JFX_ROS_INTERFACE_H_