18 #ifndef _GAZEBO_VACUUM_GRIPPER_PLUGIN_HH_    19 #define _GAZEBO_VACUUM_GRIPPER_PLUGIN_HH_    23 #include <gazebo/common/Events.hh>    24 #include <gazebo/common/Plugin.hh>    25 #include <gazebo/msgs/contacts.pb.h>    26 #include <gazebo/physics/PhysicsTypes.hh>    32   class VacuumGripperPluginPrivate;
    44     public: 
virtual void Load(physics::ModelPtr _model, sdf::ElementPtr _sdf);
    47     public: 
virtual void Reset();
    50     public: std::string Name() 
const;
    53     public: 
bool Enabled() 
const;
    58     public: 
bool Attached() 
const;
    61     public: 
void Enable();
    64     public: 
void Disable();
    67     private: 
void OnUpdate();
    71     private: 
void OnContacts(ConstContactsPtr &_msg);
    74     private: 
void HandleAttach();
    77     private: 
void HandleDetach();
    81     private: 
virtual void Publish() 
const;
    85     private: std::unique_ptr<VacuumGripperPluginPrivate> 
dataPtr;
 
std::unique_ptr< VacuumGripperPluginPrivate > dataPtr