//*****************************************************************************
// RCF - Remote Call Framework
// Copyright (c) 2005. All rights reserved.
// Developed by Jarl Lindrud.
// Contact: jlindrud@hotmail.com .
//*****************************************************************************
#ifndef INCLUDE_RCF_SERVERINTERFACES_HPP
#define INCLUDE_RCF_SERVERINTERFACES_HPP
#include <RCF/Idl.hpp>
#ifdef RCF_USE_SF_SERIALIZATION
#include <SF/string.hpp>
#include <SF/vector.hpp>
#endif
#ifdef RCF_USE_BOOST_SERIALIZATION
#include <boost/serialization/vector.hpp>
#include <boost/serialization/string.hpp>
#endif
namespace RCF {
RCF_BEGIN(I_ObjectFactory, "")
RCF_METHOD_R2(bool, createObject, const std::string &, Token &)
RCF_END(I_ObjectFactory)
RCF_BEGIN(I_EndpointBroker, "")
RCF_METHOD_R3(bool, openEndpoint, const std::string &/*name*/, const std::string &/*client password*/, std::string &/*server password*/)
RCF_METHOD_R2(bool, closeEndpoint, const std::string &/*name*/, const std::string &/*server password*/)
RCF_METHOD_R2(bool, establishEndpointConnection, const std::string &/*name*/, const std::string &/*server password*/)
RCF_METHOD_R2(int, bindToEndpoint, const std::string &/*name*/, const std::string &/*client password*/)
RCF_END(I_EndpointBroker)
RCF_BEGIN(I_EndpointServer, "")
RCF_METHOD_V1(void, spawnConnections, unsigned int/*connections*/)
RCF_END(I_EndpointServer)
RCF_BEGIN( I_RequestSubscription, "" )
RCF_METHOD_R1(bool, requestSubscription, const std::string &/*subscriptionName*/)
RCF_END(I_RequestSubscription)
RCF_BEGIN(I_RequestTransportFilters, "")
RCF_METHOD_R1(bool, requestTransportFilters, const std::vector<int> &/*filterIds*/)
RCF_END(I_RequestTransportFilters)
} // namespace RCF
#endif // ! INCLUDE_RCF_SERVERINTERFACES_HPP