summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/WinterSpeak/speak/user/user_information.h
blob: 5e6ec80d465be6f8dc3107b0fbacbc03f68bb0b7 (plain)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#ifndef guard_speak_user_user_information_h
#define guard_speak_user_user_information_h
//==============================================================================
// 	Miranda Speak Plugin, © 2002 Ryan Winter
//==============================================================================

#include <windows.h>

#include <map>
#include <string>

class UserInformation
{
  public:
	UserInformation();
	~UserInformation();

	//--------------------------------------------------------------------------
	// Description : update the users status
	// Parameters  : user - the current user
	//               status - the users status
	// Returns     : true - the status changed
	//               false - the status stayed the same
	//--------------------------------------------------------------------------
	bool updateStatus(HANDLE user, int status);

	//--------------------------------------------------------------------------
	// Description : get a string containing the users current status string
	// Parameters  : user - the current user
	// Returns     : the string containing the users status
	//--------------------------------------------------------------------------
	std::string statusString(HANDLE user);

	//--------------------------------------------------------------------------
	// Description : return the status mode of the user
	// Parameters  : user - the current user
	// Returns     : the string containing the users status mode
	//--------------------------------------------------------------------------
    std::string statusModeString(HANDLE user);

	//--------------------------------------------------------------------------
	// Description : insert the name into the string at the %u location
	// Parameters  : str  - the string to have the username inserted into
	//               user - the current user
	//--------------------------------------------------------------------------
	void insertName(std::string &str, HANDLE user) const;

	//--------------------------------------------------------------------------
	// Description : get the name string for the user
	// Parameters  : user - the current user
	// Returns     : a string containing the user's name
	//--------------------------------------------------------------------------
	std::string nameString(HANDLE user) const;

  private:
	std::map<HANDLE, int>      m_status_info;
	std::map<int, std::string> m_status_strings;
};

//==============================================================================
//
//  Summary     : Contain information about the current users
//
//  Description : Provides an interface to get various information about the 
//                user. Also holds the users current status.
//
//==============================================================================

#endif