Torshify.Core.Native.NativeSessionCallbacks.NativeSessionCallbacks C# (CSharp) Method

NativeSessionCallbacks() public method

public NativeSessionCallbacks ( NativeSession session ) : System
session NativeSession
return System
        public NativeSessionCallbacks(NativeSession session)
        {
            _session = session;

            _connectionError = ConnectionErrorCallback;
            _endOfTrack = EndOfTrackCallback;
            _getAudioBufferStats = GetAudioBufferStatsCallback;
            _loggedIn = LoggedInCallback;
            _loggedOut = LoggedOutCallback;
            _logMessage = LogMessageCallback;
            _messageToUser = MessageToUserCallback;
            _metadataUpdated = MetadataUpdatedCallback;
            _musicDelivery = MusicDeliveryCallback;
            _notifyMainThread = NotifyMainThreadCallback;
            _playTokenLost = PlayTokenLostCallback;
            _startPlayback = StartPlaybackCallback;
            _stopPlayback = StopPlaybackCallback;
            _streamingError = StreamingErrorCallback;
            _userinfoUpdated = UserinfoUpdatedCallback;
            _offlineStatusUpdated = OfflineStatusUpdatedCallback;
            _offlineError = OfflineErrorCallback;
            _credentialsBlobUpdated = CredentialsBlobUpdatedCallback;
            _connectionStateUpdated = ConnectionStateUpdatedCallback;
            _scrobbleError = ScrobbleErrorCallback;
            _privateSessionModeChanged = PrivateSessionModeChangedCallback;

            _callbacks = new Spotify.SpotifySessionCallbacks();
            _callbacks.LoggedIn = Marshal.GetFunctionPointerForDelegate(_loggedIn);
            _callbacks.LoggedOut = Marshal.GetFunctionPointerForDelegate(_loggedOut);
            _callbacks.MetadataUpdated = Marshal.GetFunctionPointerForDelegate(_metadataUpdated);
            _callbacks.ConnectionError = Marshal.GetFunctionPointerForDelegate(_connectionError);
            _callbacks.MessageToUser = Marshal.GetFunctionPointerForDelegate(_messageToUser);
            _callbacks.NotifyMainThread = Marshal.GetFunctionPointerForDelegate(_notifyMainThread);
            _callbacks.MusicDelivery = Marshal.GetFunctionPointerForDelegate(_musicDelivery);
            _callbacks.PlayTokenLost = Marshal.GetFunctionPointerForDelegate(_playTokenLost);
            _callbacks.LogMessage = Marshal.GetFunctionPointerForDelegate(_logMessage);
            _callbacks.EndOfTrack = Marshal.GetFunctionPointerForDelegate(_endOfTrack);
            _callbacks.StreamingError = Marshal.GetFunctionPointerForDelegate(_streamingError);
            _callbacks.UserinfoUpdated = Marshal.GetFunctionPointerForDelegate(_userinfoUpdated);
            _callbacks.StartPlayback = Marshal.GetFunctionPointerForDelegate(_startPlayback);
            _callbacks.StopPlayback = Marshal.GetFunctionPointerForDelegate(_stopPlayback);
            _callbacks.GetAudioBufferStats = Marshal.GetFunctionPointerForDelegate(_getAudioBufferStats);
            _callbacks.OfflineStatusUpdated = Marshal.GetFunctionPointerForDelegate(_offlineStatusUpdated);
            _callbacks.OfflineError = Marshal.GetFunctionPointerForDelegate(_offlineError);
            _callbacks.CredentialsBlobUpdated = Marshal.GetFunctionPointerForDelegate(_credentialsBlobUpdated);
            _callbacks.ConnectionStateUpdated = Marshal.GetFunctionPointerForDelegate(_connectionStateUpdated);
            _callbacks.ScrobbleError = Marshal.GetFunctionPointerForDelegate(_scrobbleError);
            _callbacks.PrivateSessionModeChanged = Marshal.GetFunctionPointerForDelegate(_privateSessionModeChanged);

            _callbacksHandle = Marshal.AllocHGlobal(CallbacksSize);
            Marshal.StructureToPtr(_callbacks, _callbacksHandle, true);
        }