Files
o3de/Code/Editor/EditorFileMonitor.h
T
Artur K 6bf6ae9485 Editor code: tidy up BOOLs,NULLs and overrides pt5. (#2876)
A few 'typedefs' replaced by 'using's
This shouldn't have any functional changes at all, just c++17 modernization
It's a part 5 of a split #2847

Signed-off-by: Nemerle <nemerle5+git@gmail.com>

Co-authored-by: Nemerle <nemerle5+git@gmail.com>
2021-08-09 13:06:29 -05:00

59 lines
1.7 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#ifndef CRYINCLUDE_EDITOR_EDITORFILEMONITOR_H
#define CRYINCLUDE_EDITOR_EDITORFILEMONITOR_H
#pragma once
#include "Include/IEditorFileMonitor.h"
#include "Util/FileChangeMonitor.h"
class CEditorFileMonitor
: public IEditorFileMonitor
, public CFileChangeMonitorListener
, public IEditorNotifyListener
{
public:
CEditorFileMonitor();
~CEditorFileMonitor();
bool RegisterListener(IFileChangeListener* pListener, const char* filename) override;
bool RegisterListener(IFileChangeListener* pListener, const char* folderRelativeToGame, const char* ext) override;
bool UnregisterListener(IFileChangeListener* pListener) override;
// from CFileChangeMonitorListener
void OnFileMonitorChange(const SFileChangeInfo& rChange) override;
// from IEditorNotifyListener
void OnEditorNotifyEvent(EEditorNotifyEvent ev) override;
private:
void MonitorDirectories();
// File Change Monitor stuff
struct SFileChangeCallback
{
IFileChangeListener* pListener;
QString item;
QString extension;
SFileChangeCallback()
: pListener(nullptr)
{}
SFileChangeCallback(IFileChangeListener* pListener, const char* item, const char* extension)
: pListener(pListener)
, item(item)
, extension(extension)
{}
};
std::vector<SFileChangeCallback> m_vecFileChangeCallbacks;
};
#endif // CRYINCLUDE_EDITOR_EDITORFILEMONITOR_H