1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include "util.hpp"
using SteamPipeHandle = uint32_t;
using SteamUserHandle = uint32_t;
enum game_coordinator_result_t {
result_ok,
result_no_message,
result_small_buffer,
result_not_logged_on,
result_invalid,
};
class ISteamFriends {
public:
bool set_rich_presence( const char* key, const char* value ) {
return util::get_vfunc< 43, bool >( this, key, value );
}
void clear_rich_presence( ) {
util::get_vfunc< 44, void >( this );
}
};
class ISteamClient {
public:
void* GetISteamFriends( SteamUserHandle user, SteamPipeHandle pipe, const char* name ) {
return util::get_vfunc< 8, void* >( this, user, pipe, name );
}
void* GetISteamGenericInterface( SteamUserHandle user, SteamPipeHandle pipe, const char* name ) {
return util::get_vfunc< 12, void* >( this, user, pipe, name );
}
};
class ISteamGameCoordinator {
public:
virtual game_coordinator_result_t send_message( uint32_t msg_type, const void* pub_data, uint32_t data ) = 0;
virtual bool IsMessageAvailable( uint32_t* msg_size ) = 0;
virtual game_coordinator_result_t RetrieveMessage( uint32_t* msg_type, void* pub_dest, uint32_t dest, uint32_t* msg_size ) = 0;
};
|