Program Listing for File ipc.h#
↰ Return to documentation for file (interfaces\ipc.h)
#ifndef __IDL_GENERATED__IPC_H__20251106_105035_629__
#define __IDL_GENERATED__IPC_H__20251106_105035_629__
#ifdef _MSC_VER
// Prevent bogus warnings about uninitialized members during static code analysis.
#pragma warning(push)
#pragma warning(disable : 26495)
#endif
// Provide fixed width integer types.
#include <cstdint>
#include "core.h"
namespace sdv
{
namespace ipc
{
struct SChannelEndpoint
{
IInterfaceAccess* pConnection;
sdv::u8string ssConnectString;
};
interface ICreateEndpoint
{
static constexpr ::sdv::interface_id _id = 0x3133A1F2460D779F;
virtual SChannelEndpoint CreateEndpoint(/*in*/ const sdv::u8string& ssChannelConfig) = 0;
};
interface IChannelAccess
{
static constexpr ::sdv::interface_id _id = 0x12F87B9658986539;
virtual IInterfaceAccess* Access(/*in*/ const sdv::u8string& ssConnectString) = 0;
};
enum class EConnectStatus : uint32_t
{
uninitialized = 0,
initializing = 1,
initialized = 2,
connecting = 10,
negotiating = 20,
connection_error = 990,
connected = 11,
communication_error = 991,
disconnected = 30,
disconnected_forced = 32,
terminating = 90,
};
interface IConnect
{
static constexpr ::sdv::interface_id _id = 0x8D73A5E8FFBB9261;
virtual bool AsyncConnect(/*in*/ IInterfaceAccess* pReceiver) = 0;
virtual bool WaitForConnection(/*in*/ uint32_t uiWaitMs) = 0;
virtual void CancelWait() = 0;
virtual void Disconnect() = 0;
virtual uint64_t RegisterStatusEventCallback(/*in*/ IInterfaceAccess* pEventCallback) = 0;
virtual void UnregisterStatusEventCallback(/*in*/ uint64_t uiCookie) = 0;
virtual EConnectStatus GetStatus() const = 0;
};
interface IConnectEventCallback
{
static constexpr ::sdv::interface_id _id = 0x6B0B33C1F11C7CF9;
virtual void SetStatus(/*in*/ EConnectStatus eConnectStatus) = 0;
};
interface IDataSend
{
static constexpr ::sdv::interface_id _id = 0x0DAAFCB866248F9C;
virtual bool SendData(/*inout*/ sdv::sequence<sdv::pointer<uint8_t>>& seqData) = 0;
};
interface IDataReceiveCallback
{
static constexpr ::sdv::interface_id _id = 0x22F4BE784DB63195;
virtual void ReceiveData(/*inout*/ sdv::sequence<sdv::pointer<uint8_t>>& seqData) = 0;
};
}
}
#ifdef _MSC_VER
#pragma warning(pop)
#endif
#endif // !defined(__IDL_GENERATED__IPC_H__20251106_105035_640__)