summaryrefslogtreecommitdiff
path: root/public/Friends/IFriendsUser.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/Friends/IFriendsUser.h')
-rw-r--r--public/Friends/IFriendsUser.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/public/Friends/IFriendsUser.h b/public/Friends/IFriendsUser.h
new file mode 100644
index 0000000..4c9375a
--- /dev/null
+++ b/public/Friends/IFriendsUser.h
@@ -0,0 +1,62 @@
+//========= Copyright 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