38f1ddb...178a853: v0.8.9.1, removed content folder
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Linq;
|
||||
|
||||
namespace SteamNative
|
||||
{
|
||||
internal unsafe class SteamMatchmakingServers : IDisposable
|
||||
{
|
||||
//
|
||||
// Holds a platform specific implentation
|
||||
//
|
||||
internal Platform.Interface platform;
|
||||
internal Facepunch.Steamworks.BaseSteamworks steamworks;
|
||||
|
||||
//
|
||||
// Constructor decides which implementation to use based on current platform
|
||||
//
|
||||
internal SteamMatchmakingServers( Facepunch.Steamworks.BaseSteamworks steamworks, IntPtr pointer )
|
||||
{
|
||||
this.steamworks = steamworks;
|
||||
|
||||
if ( Platform.IsWindows64 ) platform = new Platform.Win64( pointer );
|
||||
else if ( Platform.IsWindows32 ) platform = new Platform.Win32( pointer );
|
||||
else if ( Platform.IsLinux32 ) platform = new Platform.Linux32( pointer );
|
||||
else if ( Platform.IsLinux64 ) platform = new Platform.Linux64( pointer );
|
||||
else if ( Platform.IsOsx ) platform = new Platform.Mac( pointer );
|
||||
}
|
||||
|
||||
//
|
||||
// Class is invalid if we don't have a valid implementation
|
||||
//
|
||||
public bool IsValid{ get{ return platform != null && platform.IsValid; } }
|
||||
|
||||
//
|
||||
// When shutting down clear all the internals to avoid accidental use
|
||||
//
|
||||
public virtual void Dispose()
|
||||
{
|
||||
if ( platform != null )
|
||||
{
|
||||
platform.Dispose();
|
||||
platform = null;
|
||||
}
|
||||
}
|
||||
|
||||
// void
|
||||
public void CancelQuery( HServerListRequest hRequest /*HServerListRequest*/ )
|
||||
{
|
||||
platform.ISteamMatchmakingServers_CancelQuery( hRequest.Value );
|
||||
}
|
||||
|
||||
// void
|
||||
public void CancelServerQuery( HServerQuery hServerQuery /*HServerQuery*/ )
|
||||
{
|
||||
platform.ISteamMatchmakingServers_CancelServerQuery( hServerQuery.Value );
|
||||
}
|
||||
|
||||
// int
|
||||
public int GetServerCount( HServerListRequest hRequest /*HServerListRequest*/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_GetServerCount( hRequest.Value );
|
||||
}
|
||||
|
||||
// gameserveritem_t *
|
||||
// with: Detect_ReturningStruct
|
||||
public gameserveritem_t GetServerDetails( HServerListRequest hRequest /*HServerListRequest*/, int iServer /*int*/ )
|
||||
{
|
||||
IntPtr struct_pointer;
|
||||
struct_pointer = platform.ISteamMatchmakingServers_GetServerDetails( hRequest.Value, iServer );
|
||||
if ( struct_pointer == IntPtr.Zero ) return default(gameserveritem_t);
|
||||
return gameserveritem_t.FromPointer( struct_pointer );
|
||||
}
|
||||
|
||||
// bool
|
||||
public bool IsRefreshing( HServerListRequest hRequest /*HServerListRequest*/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_IsRefreshing( hRequest.Value );
|
||||
}
|
||||
|
||||
// HServerQuery
|
||||
public HServerQuery PingServer( uint unIP /*uint32*/, ushort usPort /*uint16*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingPingResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_PingServer( unIP, usPort, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerQuery
|
||||
public HServerQuery PlayerDetails( uint unIP /*uint32*/, ushort usPort /*uint16*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingPlayersResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_PlayerDetails( unIP, usPort, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// void
|
||||
public void RefreshQuery( HServerListRequest hRequest /*HServerListRequest*/ )
|
||||
{
|
||||
platform.ISteamMatchmakingServers_RefreshQuery( hRequest.Value );
|
||||
}
|
||||
|
||||
// void
|
||||
public void RefreshServer( HServerListRequest hRequest /*HServerListRequest*/, int iServer /*int*/ )
|
||||
{
|
||||
platform.ISteamMatchmakingServers_RefreshServer( hRequest.Value, iServer );
|
||||
}
|
||||
|
||||
// void
|
||||
public void ReleaseRequest( HServerListRequest hServerListRequest /*HServerListRequest*/ )
|
||||
{
|
||||
platform.ISteamMatchmakingServers_ReleaseRequest( hServerListRequest.Value );
|
||||
}
|
||||
|
||||
// HServerListRequest
|
||||
// with: Detect_MatchmakingFilters
|
||||
public HServerListRequest RequestFavoritesServerList( AppId_t iApp /*AppId_t*/, IntPtr ppchFilters /*struct MatchMakingKeyValuePair_t ***/, uint nFilters /*uint32*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingServerListResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_RequestFavoritesServerList( iApp.Value, (IntPtr) ppchFilters, nFilters, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerListRequest
|
||||
// with: Detect_MatchmakingFilters
|
||||
public HServerListRequest RequestFriendsServerList( AppId_t iApp /*AppId_t*/, IntPtr ppchFilters /*struct MatchMakingKeyValuePair_t ***/, uint nFilters /*uint32*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingServerListResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_RequestFriendsServerList( iApp.Value, (IntPtr) ppchFilters, nFilters, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerListRequest
|
||||
// with: Detect_MatchmakingFilters
|
||||
public HServerListRequest RequestHistoryServerList( AppId_t iApp /*AppId_t*/, IntPtr ppchFilters /*struct MatchMakingKeyValuePair_t ***/, uint nFilters /*uint32*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingServerListResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_RequestHistoryServerList( iApp.Value, (IntPtr) ppchFilters, nFilters, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerListRequest
|
||||
// with: Detect_MatchmakingFilters
|
||||
public HServerListRequest RequestInternetServerList( AppId_t iApp /*AppId_t*/, IntPtr ppchFilters /*struct MatchMakingKeyValuePair_t ***/, uint nFilters /*uint32*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingServerListResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_RequestInternetServerList( iApp.Value, (IntPtr) ppchFilters, nFilters, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerListRequest
|
||||
public HServerListRequest RequestLANServerList( AppId_t iApp /*AppId_t*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingServerListResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_RequestLANServerList( iApp.Value, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerListRequest
|
||||
// with: Detect_MatchmakingFilters
|
||||
public HServerListRequest RequestSpectatorServerList( AppId_t iApp /*AppId_t*/, IntPtr ppchFilters /*struct MatchMakingKeyValuePair_t ***/, uint nFilters /*uint32*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingServerListResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_RequestSpectatorServerList( iApp.Value, (IntPtr) ppchFilters, nFilters, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
// HServerQuery
|
||||
public HServerQuery ServerRules( uint unIP /*uint32*/, ushort usPort /*uint16*/, IntPtr pRequestServersResponse /*class ISteamMatchmakingRulesResponse **/ )
|
||||
{
|
||||
return platform.ISteamMatchmakingServers_ServerRules( unIP, usPort, (IntPtr) pRequestServersResponse );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user