Class DomainExpertClient
Defined in File DomainExpertClient.hpp
Inheritance Relationships
Base Type
public plansys2::DomainExpertInterface
(Class DomainExpertInterface)
Class Documentation
-
class DomainExpertClient : public plansys2::DomainExpertInterface
DomainExpertClient requests changes or gets information to/from the DomainExpertNode.
Any node can create a DomainExpertClient object to requests changes to the DomainExpertNode, or to get information from it. It presents the same interface of the DomainExpert, and hides the complexity of using services.
Public Functions
-
DomainExpertClient()
Create a new DomainExpertClient.
-
virtual std::string getName()
Get the domain name.
- Returns:
A string containing the domain name.
-
virtual std::vector<std::string> getTypes()
Get the predicates existing in the domain.
- Returns:
The vector containing the name of the predicates.
-
virtual std::vector<std::string> getConstants(const std::string &type)
Get the details of a constants existing for a type.
- Parameters:
predicate – [in] The name of the type.
- Returns:
A list of constants names for the passed type
-
virtual std::vector<plansys2::Predicate> getPredicates()
Get the predicates existing in the domain.
- Returns:
The vector containing the name of the predicates.
-
virtual std::optional<plansys2::Predicate> getPredicate(const std::string &predicate)
Get the details of a predicate existing in the domain.
- Parameters:
predicate – [in] The name of the predicate.
- Returns:
A Predicate object containing the predicate name and its parameters (name and type). If the predicate does not exist, the value returned has not value.
-
virtual std::vector<plansys2::Function> getFunctions()
Get the functions existing in the domain.
- Returns:
The vector containing the name of the functions.
-
virtual std::optional<plansys2::Function> getFunction(const std::string &function)
Get the details of a function existing in the domain.
- Parameters:
function – [in] The name of the function.
- Returns:
A Function object containing the function name and its parameters (name and type). If the function does not exist, the value returned has not value.
-
virtual std::vector<plansys2::Predicate> getDerivedPredicates()
Get the derived predicates existing in the domain.
- Returns:
The vector containing the derived predicates.
-
virtual std::vector<plansys2_msgs::msg::Derived> getDerivedPredicate(const std::string &predicate, const std::vector<std::string> ¶ms = {})
Get the details of a derived predicate existing in the domain.
- Parameters:
predicate – [in] The name of the predicate.
- Returns:
A Derived object containing the predicate name, its parameters (name and type), and preconditions. If the predicate does not exist, the value returned has not value.
-
virtual std::vector<std::string> getActions()
Get the regular actions existing in the domain.
- Returns:
The vector containing the names of the actions.
-
virtual plansys2_msgs::msg::Action::SharedPtr getAction(const std::string &action, const std::vector<std::string> ¶ms = {})
Get the details of a regular action existing in the domain.
- Parameters:
action – [in] The name of the action.
- Returns:
An Action object containing the action name, parameters, requirements and effects. If the action does not exist, the value returned has not value.
-
virtual std::vector<std::string> getDurativeActions()
Get the temporal actions existing in the domain.
- Returns:
The vector containing the names of the actions.
-
virtual plansys2_msgs::msg::DurativeAction::SharedPtr getDurativeAction(const std::string &action, const std::vector<std::string> ¶ms = {})
Get the details of a durative action existing in the domain.
- Parameters:
action – [in] The name of the action.
- Returns:
A Durative Action object containing the action name, parameters, requirements and effects. If the action does not exist, the value returned has not value.
-
virtual std::string getDomain()
Get the current domain, ready to be saved to file, or to initialize another domain.
- Returns:
A string containing the domain.
-
DomainExpertClient()