blob: 8a9d48676eca30ba429cad328f1bc96a1c957af8 [file] [log] [blame]
// Copyright (C) 2014 BMW Group
// Author: Lutz Bichler (lutz.bichler@bmw.de)
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef VSOMEIP_SERVICE_DISCOVERY_HOST_HPP
#define VSOMEIP_SERVICE_DISCOVERY_HOST_HPP
#include <map>
#include <memory>
#include <boost/asio/io_service.hpp>
#include "../../routing/include/routing_types.hpp"
namespace vsomeip {
class configuration;
namespace sd {
class service_discovery_host {
public:
virtual ~service_discovery_host() {};
virtual boost::asio::io_service & get_io() = 0;
virtual std::shared_ptr< configuration > get_configuration() const = 0;
virtual void create_service_discovery_endpoint(
const std::string &_address, uint16_t _port, const std::string &_protocol) = 0;
virtual service_map_t get_offered_services(const std::string &_name) const = 0;
virtual void send(client_t _client, std::shared_ptr< message > _message, bool _flush, bool _reliable) = 0;
};
} // namespace sd
} // namespace vsomeip
#endif // VSOMEIP_SERVICE_DISCOVERY_HOST_HPP