predicate_dependent_entity.h
Go to the documentation of this file.
00001 
00025 #ifndef _PREDICATE_DEPENDENT_ENTITY_H_
00026 #define _PREDICATE_DEPENDENT_ENTITY_H_
00027 
00028 #include <string>
00029 
00030 #include <predicate_manager/dependencies.h>
00031 #include <predicate_manager/common_defs.h>
00032 
00033 namespace predicate_manager
00034 {
00039 class PredicateDependentEntity
00040 {
00041 public:
00047     PredicateDependentEntity ( const Dependencies& deps );
00048 
00052     PredicateDependentEntity();
00053 
00059     virtual void update() = 0;
00060 
00062     void declareDependency ( const std::string& dep_name, const int pm_id = 0 );
00064     void declareDependency ( const NameID dep_name_id );
00065 
00072     void bindDependency ( const NameID dep_name_id, const bool* value_ref );
00073 
00075     NameIDSet getDependencies();
00076 
00077 protected:
00085     bool getDependencyValue ( const std::string& dep_name, const int pm_id = 0, DEP_STATUS* status = NULL );
00086 
00087 private:
00088     NameIDSet dep_set_; 
00089     PredValueMap dep_value_map_; 
00090 };
00091 }
00092 
00093 #endif


predicate_manager
Author(s): Joao Reis and Joao Messias
autogenerated on Wed Aug 26 2015 12:28:34