//
//  tb_transport_external.h
//  Tightbeam
//
//  Created by James Snee on 8/23/22.
//

#ifndef __TIGHTBEAM_TRANSPORT_EXTERNAL_H
#define __TIGHTBEAM_TRANSPORT_EXTERNAL_H

#include <Tightbeam/tightbeam.h>

/// Interfaces for external transport constructors. These transports aren't built with the Tightbeam framework.
/// We therefore declare their constructor interfaces here so they can be called by the Connection impl.

TB_ASSUME_NONNULL_BEGIN
__TB_BEGIN_DECLS

#if defined(RTKIT) && !defined(DISABLE_RTKIT_TPT)
extern tb_transport_t tb_rtk_service_transport_create(tb_endpoint_t endpoint);
extern tb_transport_t tb_rtk_client_transport_create(tb_endpoint_t endpoint);
#endif // defined(RTKIT)

__TB_END_DECLS
TB_ASSUME_NONNULL_END

#endif // __TIGHTBEAM_TRANSPORT_EXTERNAL_H
