Program Listing for File Request.hpp
↰ Return to documentation for file (/tmp/ws/src/rmf_task/rmf_task/include/rmf_task/Request.hpp
)
/*
* Copyright (C) 2020 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef RMF_TASK__REQUEST_HPP
#define RMF_TASK__REQUEST_HPP
#include <memory>
#include <rmf_task/Task.hpp>
#include <rmf_utils/impl_ptr.hpp>
namespace rmf_task {
//==============================================================================
class Request
{
public:
//
// TODO(MXG): Deprecate this constructor?
Request(
const std::string& id,
rmf_traffic::Time earliest_start_time,
ConstPriorityPtr priority,
Task::ConstDescriptionPtr description,
bool automatic = false);
Request(
Task::ConstBookingPtr booking,
Task::ConstDescriptionPtr description);
const Task::ConstBookingPtr& booking() const;
const Task::ConstDescriptionPtr& description() const;
class Implementation;
private:
rmf_utils::impl_ptr<Implementation> _pimpl;
};
using RequestPtr = std::shared_ptr<Request>;
using ConstRequestPtr = std::shared_ptr<const Request>;
} // namespace rmf_task
#endif // RMF_TASK__REQUEST_HPP