21 #include "cyber/common/macros.h" 25 namespace perception {
34 virtual std::string
Name()
const = 0;
53 #define PERCEPTION_REGISTER_SCENESERVICECONTENT(name) \ 54 PERCEPTION_REGISTER_CLASS(SceneServiceContent, name) 71 virtual std::string
Name()
const = 0;
75 std::lock_guard<std::mutex> lock(mutex_);
76 self_content_->GetCopy(content);
81 std::lock_guard<std::mutex> lock(mutex_);
82 self_content_->SetContent(content);
94 #define PERCEPTION_REGISTER_SCENESERVICE(name) \ 95 PERCEPTION_REGISTER_CLASS(SceneService, name) std::shared_ptr< SceneServiceContent > SceneServiceContentPtr
Definition: scene_service.h:56
virtual void GetCopy(SceneServiceContent *content) const =0
Definition: scene_service.h:61
virtual void SetContent(const SceneServiceContent &content)=0
virtual std::string Name() const =0
std::mutex mutex_
Definition: scene_service.h:87
std::shared_ptr< const SceneServiceContent > SceneServiceContentConstPtr
Definition: scene_service.h:57
SceneServiceContent()=default
void GetServiceContentCopy(SceneServiceContent *content)
Definition: scene_service.h:74
Definition: scene_service.h:59
void UpdateServiceContent(const SceneServiceContent &content)
Definition: scene_service.h:80
bool service_ready_
Definition: scene_service.h:46
SceneServiceContentPtr self_content_
Definition: scene_service.h:86
PERCEPTION_REGISTER_REGISTERER(BaseOneShotTypeFusion)
std::shared_ptr< SceneService > SceneServicePtr
Definition: scene_service.h:97
Definition: scene_service.h:28
virtual ~SceneServiceContent()=default
bool IsServiceReady() const
Definition: scene_service.h:43
std::shared_ptr< const SceneService > SceneServiceConstPtr
Definition: scene_service.h:98