Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.4 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================//
  6. #ifndef FRIENDSNET_INTERFACE_H
  7. #define FRIENDSNET_INTERFACE_H
  8. #pragma once
  9. class CUtlMsgBuffer;
  10. class CServerSession;
  11. #include "interface.h"
  12. #include "Friends/AddOns/AddOnTypes.h"
  13. class IFriendsNET : public IBaseInterface
  14. {
  15. public:
  16. // check if we have network information for this user
  17. virtual bool CheckUserRegistered(unsigned int userID) = 0;
  18. // update a user's network information
  19. virtual void UpdateUserNetInfo(unsigned int userID, unsigned int netSessionID, int serverID, int IP, int port) = 0;
  20. // set whether or not we send directly to user or through the server
  21. virtual void SetUserSendViaServer(unsigned int userID, bool bSendViaServer) = 0;
  22. // Gets a blob of data that represents this user's information
  23. virtual bool GetUserNetInfoBlob(unsigned int userID, unsigned int dataBlob[8]) = 0;
  24. // Sets a user's information using the same blob of data type
  25. virtual bool SetUserNetInfoBlob(unsigned int userID, const unsigned int dataBlob[8]) = 0;
  26. // send binary data to user, marked with game/sessionID
  27. virtual void SendAddOnPacket(const char *pszGameID, SessionInt64 addOnSessionID, unsigned int userID, const CUtlMsgBuffer& buffer) = 0;
  28. };
  29. #define FRIENDSNET_INTERFACE_VERSION "FriendsNET003"
  30. #endif // FRIENDSNET_INTERFACE_H