summaryrefslogtreecommitdiff
path: root/plugins/XSoundNotify/SoundNotifyData.h
blob: 18cb4844a42997af3c09bd87d08334d05aa7cfb2 (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
#ifndef __XSN_DATA_H
#define __XSN_DATA_H

#include <unordered_map>
#include "xsn_types.h"
#include <windows.h>

class SoundNotifyData
{
public:
	SoundNotifyData();
	SoundNotifyData(HANDLE contact, const ModuleString & module, const xsn_string & sound);

	void setSound(const xsn_string & sound);

	HANDLE contact() const;	
	const xsn_string & soundPath() const;
	const ModuleString & module() const;	
	bool isSoundChanged() const;

private:
	HANDLE			_contact;	
	ModuleString	_module;
	xsn_string		_soundPath;	
	bool			_soundChanged;
};
typedef std::shared_ptr<SoundNotifyData> SoundNotifyDataPtr;

typedef std::unordered_map<xsn_string, SoundNotifyDataPtr> UserDataTable;
typedef std::unordered_map<ProtocolString, UserDataTable> ProtocolTable;
typedef std::unordered_map<ModuleString, ProtocolString> ModuleConvertTable;

#endif