initial
This commit is contained in:
56
public/friends/addons/addonmessages.h
Normal file
56
public/friends/addons/addonmessages.h
Normal file
@ -0,0 +1,56 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef ADDONMESSAGES_H
|
||||
#define ADDONMESSAGES_H
|
||||
#pragma once
|
||||
|
||||
enum GameMessageIDs
|
||||
{
|
||||
GAME_MSG_TEXT = 1, // text chat message
|
||||
GAME_MSG_DATA, // binary game data
|
||||
|
||||
GAME_MSG_INVITE_REQUEST,
|
||||
GAME_MSG_INVITE_RESPONSE,
|
||||
GAME_MSG_REJOIN_REQUEST,
|
||||
GAME_MSG_REJOIN_RESPONSE,
|
||||
|
||||
GAME_MSG_INVITE_PERMISSION, // ask permission to invite someone
|
||||
GAME_MSG_INVITE_NOTIFY, // tell everybody that we're inviting
|
||||
GAME_MSG_INVITE_DENIED,
|
||||
|
||||
GAME_MSG_PLAYER_STATUS_UPDATE,
|
||||
GAME_MSG_SETUP_INFO, // when user joins a game, host send the setup information of who's in the game
|
||||
GAME_MSG_INVITE_CANCEL, // host has cancelled an invite
|
||||
GAME_MSG_GAME_START, // if a game has a setup phase, this tells everybody the game has started
|
||||
|
||||
GAME_MSG_PLAYER_KICK, // player kicked from game
|
||||
GAME_MSG_UPDATING,
|
||||
GAME_MSG_UP_TO_DATE, // player is up to date and ready to get data
|
||||
|
||||
GAME_MSG_STARTING_CARD_HAND = 300,
|
||||
GAME_MSG_STARTING_PLAYER,
|
||||
GAME_MSG_CARD_PLAY,
|
||||
|
||||
GAME_MSG_CHEAT_POSSIBLE = 400, // when host detects a possible cheat
|
||||
|
||||
GAME_MSG_MOVE = 500,
|
||||
GAME_MSG_COLOR_CHOICE,
|
||||
GAME_MSG_RECONNECT_DATA,
|
||||
GAME_MSG_QUIT,
|
||||
GAME_MSG_PASS,
|
||||
|
||||
GAME_MSG_ABORT, // phase these out
|
||||
GAME_MSG_WAITING_ABORT,
|
||||
|
||||
// GAME_MSG_CLOSE_WINDOW,
|
||||
|
||||
// special individual game messages should take IDs 1000 and over
|
||||
};
|
||||
|
||||
|
||||
#endif // ADDONMESSAGES_H
|
||||
|
18
public/friends/addons/addontypes.h
Normal file
18
public/friends/addons/addontypes.h
Normal file
@ -0,0 +1,18 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef ADDONTYPES_H
|
||||
#define ADDONTYPES_H
|
||||
#pragma once
|
||||
|
||||
#ifndef WIN32
|
||||
typedef unsigned long long SessionInt64;
|
||||
#else
|
||||
typedef unsigned __int64 SessionInt64;
|
||||
#endif
|
||||
|
||||
#endif // ADDONTYPES_H
|
||||
|
69
public/friends/addons/isteamaddon.h
Normal file
69
public/friends/addons/isteamaddon.h
Normal file
@ -0,0 +1,69 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Interface to a Steam Add On
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef ISTEAMADDON_H
|
||||
#define ISTEAMADDON_H
|
||||
#pragma once
|
||||
|
||||
#include "interface.h"
|
||||
#include "AddOnTypes.h"
|
||||
#include <vgui_controls/Panel.h>
|
||||
|
||||
class CUtlMsgBuffer;
|
||||
|
||||
class ISteamAddOn : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
// allows SteamAddOn to link to the core vgui factories
|
||||
virtual bool Initialize(CreateInterfaceFn *vguiFactories, int factoryCount) = 0;
|
||||
|
||||
// allows SteamAddOns to link to all other modules
|
||||
virtual bool PostInitialize(CreateInterfaceFn *modules, int factoryCount) = 0;
|
||||
|
||||
// when Friends closes down - all SteamAddOns are notified
|
||||
virtual void Deactivate() = 0;
|
||||
|
||||
// notifies the addon who its VGUI parent panel is
|
||||
virtual void SetParent( vgui::Panel *parent ) = 0;
|
||||
|
||||
// notifies the SteamAddOn of the user's ID and username.
|
||||
// Note: username can be set mulitple times due to changing of name
|
||||
virtual void SetUserID(unsigned int userID) = 0;
|
||||
virtual void SetUserName(const char *userName) = 0;
|
||||
|
||||
// Query if there are any 'open' sessions - open meaning allowing new users to join the sessions
|
||||
virtual int QueryOpenSessionCount() = 0;
|
||||
|
||||
// will be valid right after a call to QueryOpenInviteCount will set the addOnSessionID and hostname for
|
||||
// any open sessions for this addOn. Return true if it's a valid index
|
||||
virtual bool QueryOpenSessionInfo(int nOpenGameIndex, SessionInt64 &addOnSessionID, char *pszHostName) = 0;
|
||||
|
||||
// returns true if this userID is involved in an addOnSession with this ID
|
||||
virtual bool QueryUserInvolved(SessionInt64 addOnSessionID, unsigned int userID) = 0;
|
||||
|
||||
// if session doesn't exist, then the SteamAddOn body should deal with it
|
||||
virtual bool OnReceiveMsg(SessionInt64 addOnSessionID, CUtlMsgBuffer *msgBuffer) = 0;
|
||||
|
||||
// Let's the SteamAddOn know when when any friend's status has changed
|
||||
virtual void OnFriendStatusChanged() = 0;
|
||||
|
||||
// A request to start/join this AddOn with this user ID/name. addOnSessionID will be zero if it's a new session request
|
||||
virtual void OnInviteUser(unsigned int targetUserID, const char *username, SessionInt64 addOnSessionID) = 0;
|
||||
|
||||
// user accepted this host's invite request
|
||||
virtual void OnAcceptInviteRequest(unsigned int hostID, const char *hostUserName, SessionInt64 addOnSessionID, const char *pAppData, int dataLen) = 0;
|
||||
|
||||
// user accepted this host's rejoin request
|
||||
virtual void OnAcceptRejoinRequest(unsigned int hostID, const char *hostUserName, SessionInt64 addOnSessionID, const char *pAppData, int dataLen) = 0;
|
||||
|
||||
// user starts this addOn from a menu
|
||||
virtual void StartAddOn() = 0;
|
||||
};
|
||||
|
||||
#define STEAMADDON_INTERFACE_VERSION "SteamAddOn007"
|
||||
|
||||
#endif // ISTEAMADDON_H
|
||||
|
41
public/friends/ifriendsnet.h
Normal file
41
public/friends/ifriendsnet.h
Normal file
@ -0,0 +1,41 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef FRIENDSNET_INTERFACE_H
|
||||
#define FRIENDSNET_INTERFACE_H
|
||||
#pragma once
|
||||
|
||||
class CUtlMsgBuffer;
|
||||
class CServerSession;
|
||||
|
||||
#include "interface.h"
|
||||
#include "Friends/AddOns/AddOnTypes.h"
|
||||
|
||||
class IFriendsNET : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
// check if we have network information for this user
|
||||
virtual bool CheckUserRegistered(unsigned int userID) = 0;
|
||||
|
||||
// update a user's network information
|
||||
virtual void UpdateUserNetInfo(unsigned int userID, unsigned int netSessionID, int serverID, int IP, int port) = 0;
|
||||
|
||||
// set whether or not we send directly to user or through the server
|
||||
virtual void SetUserSendViaServer(unsigned int userID, bool bSendViaServer) = 0;
|
||||
|
||||
// Gets a blob of data that represents this user's information
|
||||
virtual bool GetUserNetInfoBlob(unsigned int userID, unsigned int dataBlob[8]) = 0;
|
||||
// Sets a user's information using the same blob of data type
|
||||
virtual bool SetUserNetInfoBlob(unsigned int userID, const unsigned int dataBlob[8]) = 0;
|
||||
|
||||
// send binary data to user, marked with game/sessionID
|
||||
virtual void SendAddOnPacket(const char *pszGameID, SessionInt64 addOnSessionID, unsigned int userID, const CUtlMsgBuffer& buffer) = 0;
|
||||
};
|
||||
|
||||
#define FRIENDSNET_INTERFACE_VERSION "FriendsNET003"
|
||||
|
||||
#endif // FRIENDSNET_INTERFACE_H
|
||||
|
62
public/friends/ifriendsuser.h
Normal file
62
public/friends/ifriendsuser.h
Normal file
@ -0,0 +1,62 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef IFRIENDSUSER_H
|
||||
#define IFRIENDSUSER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Interface to accessing information about Friends Users
|
||||
//-----------------------------------------------------------------------------
|
||||
class IFriendsUser : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
// returns true if the interface is ready for use
|
||||
virtual bool IsValid() = 0;
|
||||
|
||||
// returns the Friends ID of the current user
|
||||
virtual unsigned int GetFriendsID() = 0;
|
||||
|
||||
// returns information about a user
|
||||
// information may not be known about some users, "" will be returned
|
||||
virtual const char *GetUserName(unsigned int friendsID) = 0;
|
||||
virtual const char *GetFirstName(unsigned int friendsID) = 0;
|
||||
virtual const char *GetLastName(unsigned int friendsID) = 0;
|
||||
virtual const char *GetEmail(unsigned int friendsID) = 0;
|
||||
|
||||
// returns true if buddyID is a buddy of the current user
|
||||
// ie. the current is authorized to see when the buddy is online
|
||||
virtual bool IsBuddy(unsigned int buddyID) = 0;
|
||||
|
||||
// requests authorization from a user
|
||||
virtual void RequestAuthorizationFromUser(unsigned int potentialBuddyID) = 0;
|
||||
|
||||
// returns the status of the buddy, > 0 is online, 4 is ingame
|
||||
virtual int GetBuddyStatus(unsigned int friendsID) = 0;
|
||||
|
||||
// gets the IP address of the server the buddy is on, returns false if couldn't get
|
||||
virtual bool GetBuddyGameAddress(unsigned int friendsID, int *ip, int *port) = 0;
|
||||
|
||||
// returns the number of buddies
|
||||
virtual int GetNumberOfBuddies() = 0;
|
||||
|
||||
// returns the FriendsID of a buddy - buddyIndex is valid in the range [0, GetNumberOfBuddies)
|
||||
virtual unsigned int GetBuddyFriendsID(int buddyIndex) = 0;
|
||||
|
||||
// sets whether or not the user can receive messages at this time
|
||||
// messages will be queued until this is set to true
|
||||
virtual void SetCanReceiveMessages(bool state) = 0;
|
||||
};
|
||||
|
||||
#define FRIENDSUSER_INTERFACE_VERSION "FriendsUser001"
|
||||
|
||||
|
||||
#endif // IFRIENDSUSER_H
|
Reference in New Issue
Block a user