Program Listing for File ipc.h#

Return to documentation for file (interfaces\ipc.h)

#ifndef __IDL_GENERATED__IPC_H__20260404_121550_798__
#define __IDL_GENERATED__IPC_H__20260404_121550_798__

#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 EConnectState : 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 = 0x1AEC72C2188D272A;

            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 RegisterStateEventCallback(/*in*/ IInterfaceAccess* pEventCallback) = 0;

            virtual void UnregisterStateEventCallback(/*in*/ uint64_t uiCookie) = 0;

            virtual EConnectState GetConnectState() const = 0;
        };

        interface IConnectEventCallback
        {
            static constexpr ::sdv::interface_id _id = 0x659B4E92C6FB812D;

            virtual void SetConnectState(/*in*/ EConnectState eConnectState) = 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__20260404_121550_801__)