50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef MOJO_CORE_CONNECTION_PARAMS_H_
|
|
#define MOJO_CORE_CONNECTION_PARAMS_H_
|
|
|
|
#include "base/macros.h"
|
|
#include "build/build_config.h"
|
|
#include "mojo/core/system_impl_export.h"
|
|
#include "mojo/public/cpp/platform/platform_channel_endpoint.h"
|
|
#include "mojo/public/cpp/platform/platform_channel_server_endpoint.h"
|
|
|
|
namespace mojo {
|
|
namespace core {
|
|
|
|
// A set of parameters used when establishing a connection to another process.
|
|
class MOJO_SYSTEM_IMPL_EXPORT ConnectionParams {
|
|
public:
|
|
ConnectionParams();
|
|
explicit ConnectionParams(PlatformChannelEndpoint endpoint);
|
|
explicit ConnectionParams(PlatformChannelServerEndpoint server_endpoint);
|
|
ConnectionParams(ConnectionParams&&);
|
|
~ConnectionParams();
|
|
|
|
ConnectionParams& operator=(ConnectionParams&&);
|
|
|
|
const PlatformChannelEndpoint& endpoint() const { return endpoint_; }
|
|
const PlatformChannelServerEndpoint& server_endpoint() const {
|
|
return server_endpoint_;
|
|
}
|
|
|
|
PlatformChannelEndpoint TakeEndpoint() { return std::move(endpoint_); }
|
|
|
|
PlatformChannelServerEndpoint TakeServerEndpoint() {
|
|
return std::move(server_endpoint_);
|
|
}
|
|
|
|
private:
|
|
PlatformChannelEndpoint endpoint_;
|
|
PlatformChannelServerEndpoint server_endpoint_;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(ConnectionParams);
|
|
};
|
|
|
|
} // namespace core
|
|
} // namespace mojo
|
|
|
|
#endif // MOJO_CORE_CONNECTION_PARAMS_H_
|