// This file is automatically generated.
using System;
using System.Text;
using System.Runtime.InteropServices;

namespace Steam4NET
{

	[StructLayout(LayoutKind.Sequential,Pack=4)]
	public class ISteamUtils001VTable
	{
		public IntPtr GetSecondsSinceAppActive0;
		public IntPtr GetSecondsSinceComputerActive1;
		public IntPtr GetConnectedUniverse2;
		public IntPtr GetServerRealTime3;
		private IntPtr DTorISteamUtils0014;
	};
	
	[InteropHelp.InterfaceVersion("SteamUtils001")]
	public class ISteamUtils001 : InteropHelp.NativeWrapper<ISteamUtils001VTable>
	{
		[UnmanagedFunctionPointer(CallingConvention.ThisCall)] private delegate UInt32 NativeGetSecondsSinceAppActive( IntPtr thisptr );
		public UInt32 GetSecondsSinceAppActive(  ) 
		{
			return this.GetFunction<NativeGetSecondsSinceAppActive>( this.Functions.GetSecondsSinceAppActive0 )( this.ObjectAddress ); 
		}
		
		[UnmanagedFunctionPointer(CallingConvention.ThisCall)] private delegate UInt32 NativeGetSecondsSinceComputerActive( IntPtr thisptr );
		public UInt32 GetSecondsSinceComputerActive(  ) 
		{
			return this.GetFunction<NativeGetSecondsSinceComputerActive>( this.Functions.GetSecondsSinceComputerActive1 )( this.ObjectAddress ); 
		}
		
		[UnmanagedFunctionPointer(CallingConvention.ThisCall)] private delegate EUniverse NativeGetConnectedUniverse( IntPtr thisptr );
		public EUniverse GetConnectedUniverse(  ) 
		{
			return this.GetFunction<NativeGetConnectedUniverse>( this.Functions.GetConnectedUniverse2 )( this.ObjectAddress ); 
		}
		
		[UnmanagedFunctionPointer(CallingConvention.ThisCall)] private delegate UInt32 NativeGetServerRealTime( IntPtr thisptr );
		public UInt32 GetServerRealTime(  ) 
		{
			return this.GetFunction<NativeGetServerRealTime>( this.Functions.GetServerRealTime3 )( this.ObjectAddress ); 
		}
		
	};
}
