OpenHome.Net.Core.InitParams.AllocNativeInitParams C# (CSharp) Method

AllocNativeInitParams() private method

private AllocNativeInitParams ( IntPtr aCallbackPtr ) : IntPtr
aCallbackPtr System.IntPtr
return System.IntPtr
        internal IntPtr AllocNativeInitParams(IntPtr aCallbackPtr)
        {
            IntPtr nativeParams = OhNetInitParamsCreate();

            if (LogOutput != null)
            {
                OhNetInitParamsSetLogOutput(nativeParams, LogOutput.Callback, LogOutput.Handle());
            }
            if (FatalErrorHandler != null)
            {
                OhNetInitParamsSetFatalErrorHandler(nativeParams, FatalErrorHandler.Callback, FatalErrorHandler.Handle());
            }
            if (AsyncBeginHandler != null)
            {
                OhNetInitParamsSetAsyncBeginHandler(nativeParams, AsyncBeginHandler.Callback, AsyncBeginHandler.Handle());
            }
            if (AsyncEndHandler != null)
            {
                OhNetInitParamsSetAsyncEndHandler(nativeParams, AsyncEndHandler.Callback, AsyncEndHandler.Handle());
            }
            if (AsyncErrorHandler != null)
            {
                OhNetInitParamsSetAsyncErrorHandler(nativeParams, AsyncErrorHandler.Callback, AsyncErrorHandler.Handle());
            }
            if (SubnetListChangedListener != null)
            {
                OhNetInitParamsSetSubnetListChangedListener(nativeParams, SubnetListChangedListener.Callback, SubnetListChangedListener.Handle());
            }
            if (SubnetAddedListener != null)
            {
                OhNetInitParamsSetSubnetAddedListener(nativeParams, SubnetAddedListener.Callback, SubnetAddedListener.Handle());
            }
            if (SubnetRemovedListener != null)
            {
                OhNetInitParamsSetSubnetRemovedListener(nativeParams, SubnetRemovedListener.Callback, SubnetRemovedListener.Handle());
            }
            if (NetworkAdapterChangedListener != null)
            {
                OhNetInitParamsSetNetworkAdapterChangedListener(nativeParams, NetworkAdapterChangedListener.Callback, NetworkAdapterChangedListener.Handle());
            }
            OhNetInitParamsSetTcpConnectTimeout(nativeParams, TcpConnectTimeoutMs);
            OhNetInitParamsSetMsearchTime(nativeParams, MsearchTimeSecs);
            OhNetInitParamsSetMsearchTtl(nativeParams, MsearchTtl);
            OhNetInitParamsSetNumEventSessionThreads(nativeParams, NumEventSessionThreads);
            OhNetInitParamsSetNumXmlFetcherThreads(nativeParams, NumXmlFetcherThreads);
            OhNetInitParamsSetNumActionInvokerThreads(nativeParams, NumActionInvokerThreads);
            OhNetInitParamsSetNumInvocations(nativeParams, NumInvocations);
            OhNetInitParamsSetNumSubscriberThreads(nativeParams, NumSubscriberThreads);
            OhNetInitParamsSetSubscriptionDuration(nativeParams, SubscriptionDurationSecs);
            OhNetInitParamsSetPendingSubscriptionTimeout(nativeParams, PendingSubscriptionTimeoutMs);
            OhNetInitParamsSetDvMaxUpdateTime(nativeParams, DvMaxUpdateTimeSecs);
            OhNetInitParamsSetDvNumServerThreads(nativeParams, DvNumServerThreads);
            OhNetInitParamsSetDvNumPublisherThreads(nativeParams, DvNumPublisherThreads);
            OhNetInitParamsSetDvNumWebSocketThreads(nativeParams, DvNumWebSocketThreads);
            OhNetInitParamsSetCpUpnpEventServerPort(nativeParams, CpUpnpEventPort);
            OhNetInitParamsSetDvUpnpServerPort(nativeParams, DvUpnpWebServerPort);
            OhNetInitParamsSetDvWebSocketPort(nativeParams, DvWebSocketPort);
            if (DvEnableBonjour)
            {
                IntPtr hostName = InteropUtils.StringToHGlobalUtf8(DvMdnsHostName);
                OhNetInitParamsSetDvEnableBonjour(nativeParams, hostName);
                Marshal.FreeHGlobal(hostName);
            }
            if (!String.IsNullOrEmpty(HttpUserAgent))
            {
                IntPtr userAgent = InteropUtils.StringToHGlobalUtf8(HttpUserAgent);
                OhNetInitParamsSetHttpUserAgent(nativeParams, userAgent);
                Marshal.FreeHGlobal(userAgent);
            }
            OhNetInitParamsSetHostUdpIsLowQuality(nativeParams, HostUdpIsLowQuality ? 1 : 0);
            if (UseLoopbackNetworkAdapter)
            {
                OhNetInitParamsSetUseLoopbackNetworkAdapter(nativeParams);
            }
            if (IncludeLoopbackNetworkAdapter)
            {
                if (UseLoopbackNetworkAdapter)
                {
                    System.Diagnostics.Debug.WriteLine("WARNING: IncludeLoopbackNetworkAdapter is incompatible with UseLoopbackNetworkAdapter. Ignoring UseLoopbackNetworkAdapter.");
                }
                OhNetInitParamsSetIncludeLoopbackNetworkAdapter(nativeParams);
            }
            return nativeParams;
        }
        internal static void FreeNativeInitParams(IntPtr aNativeInitParams)

Usage Example

Ejemplo n.º 1
0
        private void Initialise(InitParams aParams)
        {
            iLogOutput                     = aParams.LogOutput;
            iFatalErrorHandler             = aParams.FatalErrorHandler;
            iAsyncBeginHandler             = aParams.AsyncBeginHandler;
            iAsyncEndHandler               = aParams.AsyncEndHandler;
            iAsyncErrorHandler             = aParams.AsyncErrorHandler;
            iSubnetListChangedListener     = aParams.SubnetListChangedListener;
            iSubnetAddedListener           = aParams.SubnetAddedListener;
            iSubnetRemovedListener         = aParams.SubnetRemovedListener;
            iNetworkAdapterChangedListener = aParams.NetworkAdapterChangedListener;
            IntPtr nativeInitParams = aParams.AllocNativeInitParams(IntPtr.Zero);

            OhNetInitParamsSetFreeExternalCallback(nativeInitParams, FreeMemory);
            if (0 != OhNetLibraryInitialise(nativeInitParams))
            {
                InitParams.FreeNativeInitParams(nativeInitParams);
                throw new LibraryException();
            }
        }
All Usage Examples Of OpenHome.Net.Core.InitParams::AllocNativeInitParams
InitParams