38f1ddb...178a853: v0.8.9.1, removed content folder
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Linq;
|
||||
|
||||
namespace SteamNative
|
||||
{
|
||||
internal unsafe class SteamApi : IDisposable
|
||||
{
|
||||
//
|
||||
// Holds a platform specific implentation
|
||||
//
|
||||
internal Platform.Interface platform;
|
||||
|
||||
//
|
||||
// Constructor decides which implementation to use based on current platform
|
||||
//
|
||||
internal SteamApi()
|
||||
{
|
||||
|
||||
if ( Platform.IsWindows64 ) platform = new Platform.Win64( ((IntPtr)1) );
|
||||
else if ( Platform.IsWindows32 ) platform = new Platform.Win32( ((IntPtr)1) );
|
||||
else if ( Platform.IsLinux32 ) platform = new Platform.Linux32( ((IntPtr)1) );
|
||||
else if ( Platform.IsLinux64 ) platform = new Platform.Linux64( ((IntPtr)1) );
|
||||
else if ( Platform.IsOsx ) platform = new Platform.Mac( ((IntPtr)1) );
|
||||
}
|
||||
|
||||
//
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
||||
// HSteamPipe
|
||||
public HSteamPipe SteamAPI_GetHSteamPipe()
|
||||
{
|
||||
return platform.SteamApi_SteamAPI_GetHSteamPipe();
|
||||
}
|
||||
|
||||
// HSteamUser
|
||||
public HSteamUser SteamAPI_GetHSteamUser()
|
||||
{
|
||||
return platform.SteamApi_SteamAPI_GetHSteamUser();
|
||||
}
|
||||
|
||||
// bool
|
||||
public bool SteamAPI_Init()
|
||||
{
|
||||
return platform.SteamApi_SteamAPI_Init();
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamAPI_RegisterCallback( IntPtr pCallback /*void **/, int callback /*int*/ )
|
||||
{
|
||||
platform.SteamApi_SteamAPI_RegisterCallback( (IntPtr) pCallback, callback );
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamAPI_RegisterCallResult( IntPtr pCallback /*void **/, SteamAPICall_t callback /*SteamAPICall_t*/ )
|
||||
{
|
||||
platform.SteamApi_SteamAPI_RegisterCallResult( (IntPtr) pCallback, callback.Value );
|
||||
}
|
||||
|
||||
// bool
|
||||
public bool SteamAPI_RestartAppIfNecessary( uint unOwnAppID /*uint32*/ )
|
||||
{
|
||||
return platform.SteamApi_SteamAPI_RestartAppIfNecessary( unOwnAppID );
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamAPI_RunCallbacks()
|
||||
{
|
||||
platform.SteamApi_SteamAPI_RunCallbacks();
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamAPI_Shutdown()
|
||||
{
|
||||
platform.SteamApi_SteamAPI_Shutdown();
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamAPI_UnregisterCallback( IntPtr pCallback /*void **/ )
|
||||
{
|
||||
platform.SteamApi_SteamAPI_UnregisterCallback( (IntPtr) pCallback );
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamAPI_UnregisterCallResult( IntPtr pCallback /*void **/, SteamAPICall_t callback /*SteamAPICall_t*/ )
|
||||
{
|
||||
platform.SteamApi_SteamAPI_UnregisterCallResult( (IntPtr) pCallback, callback.Value );
|
||||
}
|
||||
|
||||
// HSteamPipe
|
||||
public HSteamPipe SteamGameServer_GetHSteamPipe()
|
||||
{
|
||||
return platform.SteamApi_SteamGameServer_GetHSteamPipe();
|
||||
}
|
||||
|
||||
// HSteamUser
|
||||
public HSteamUser SteamGameServer_GetHSteamUser()
|
||||
{
|
||||
return platform.SteamApi_SteamGameServer_GetHSteamUser();
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamGameServer_RunCallbacks()
|
||||
{
|
||||
platform.SteamApi_SteamGameServer_RunCallbacks();
|
||||
}
|
||||
|
||||
// void
|
||||
public void SteamGameServer_Shutdown()
|
||||
{
|
||||
platform.SteamApi_SteamGameServer_Shutdown();
|
||||
}
|
||||
|
||||
// IntPtr
|
||||
public IntPtr SteamInternal_CreateInterface( string version /*const char **/ )
|
||||
{
|
||||
return platform.SteamApi_SteamInternal_CreateInterface( version );
|
||||
}
|
||||
|
||||
// bool
|
||||
public bool SteamInternal_GameServer_Init( uint unIP /*uint32*/, ushort usPort /*uint16*/, ushort usGamePort /*uint16*/, ushort usQueryPort /*uint16*/, int eServerMode /*int*/, string pchVersionString /*const char **/ )
|
||||
{
|
||||
return platform.SteamApi_SteamInternal_GameServer_Init( unIP, usPort, usGamePort, usQueryPort, eServerMode, pchVersionString );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user