-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFolderManager.h
More file actions
55 lines (43 loc) · 1.64 KB
/
Copy pathFolderManager.h
File metadata and controls
55 lines (43 loc) · 1.64 KB
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
/** $VER: FolderManager.h (2026.08.02) P. Stuer **/
#pragma once
#include <sdk/service.h>
using namespace msc;
/// <summary>
/// Declares the folder manager callback.
/// </summary>
class NOVTABLE folder_manager_callback_t
{
public:
virtual ~folder_manager_callback_t() noexcept { };
virtual void OnFolderCreated(const GUID & id, const std::string & name) noexcept = 0;
virtual void OnFolderRemoving(const GUID & id) noexcept = 0;
virtual void OnFolderRemoved(const GUID & id) noexcept = 0;
virtual void OnFolderRenamed(const GUID & id, const std::string & oldName, const std::string & newName) noexcept = 0;
};
/// <summary>
/// Declares the folder manager service.
/// </summary>
class NOVTABLE folder_manager_t : public service_base
{
public:
virtual HRESULT CreateFolder() noexcept = 0;
virtual HRESULT CreateFolder(const GUID & id, const std::string & name) noexcept = 0;
virtual HRESULT GetFolderName(const GUID & id, std::string & name) const noexcept = 0;
virtual HRESULT SetFolderName(const GUID & id, const std::string & newName) noexcept = 0;
virtual HRESULT RemoveFolder(const GUID & id) noexcept = 0;
virtual HRESULT GetFolderCount(uint32_t & count) const noexcept = 0;
virtual HRESULT RegisterCallback(folder_manager_callback_t * callback) noexcept = 0;
virtual HRESULT UnregisterCallback(folder_manager_callback_t * callback) noexcept = 0;
FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(folder_manager_t);
};
/// <summary>
/// Represents a folder that contains playlists.
/// </summary>
class folder_t
{
public:
folder_t(const std::string & name) : Name(name)
{
}
std::string Name;
};