mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 00:59:44 -06:00
Upgrade WX to r74856, mainly to support @2x.
This commit is contained in:
61
Externals/wxWidgets3/include/wx/fswatcher.h
vendored
61
Externals/wxWidgets3/include/wx/fswatcher.h
vendored
@ -3,7 +3,6 @@
|
||||
// Purpose: wxFileSystemWatcherBase
|
||||
// Author: Bartosz Bekier
|
||||
// Created: 2009-05-23
|
||||
// RCS-ID: $Id: fswatcher.h 70796 2012-03-04 00:29:31Z VZ $
|
||||
// Copyright: (c) 2009 Bartosz Bekier <bartosz.bekier@gmail.com>
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -44,15 +43,18 @@ enum
|
||||
wxFSW_EVENT_RENAME = 0x04,
|
||||
wxFSW_EVENT_MODIFY = 0x08,
|
||||
wxFSW_EVENT_ACCESS = 0x10,
|
||||
wxFSW_EVENT_ATTRIB = 0x20, // Currently this is wxGTK-only
|
||||
|
||||
// error events
|
||||
wxFSW_EVENT_WARNING = 0x20,
|
||||
wxFSW_EVENT_ERROR = 0x40,
|
||||
|
||||
wxFSW_EVENT_WARNING = 0x40,
|
||||
wxFSW_EVENT_ERROR = 0x80,
|
||||
wxFSW_EVENT_ALL = wxFSW_EVENT_CREATE | wxFSW_EVENT_DELETE |
|
||||
wxFSW_EVENT_RENAME | wxFSW_EVENT_MODIFY |
|
||||
wxFSW_EVENT_ACCESS |
|
||||
wxFSW_EVENT_ACCESS | wxFSW_EVENT_ATTRIB |
|
||||
wxFSW_EVENT_WARNING | wxFSW_EVENT_ERROR
|
||||
#ifdef wxHAS_INOTIFY
|
||||
,wxFSW_EVENT_UNMOUNT = 0x2000
|
||||
#endif
|
||||
};
|
||||
|
||||
// Type of the path watched, used only internally for now.
|
||||
@ -75,7 +77,7 @@ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_BASE, wxEVT_FSWATCHER,
|
||||
class WXDLLIMPEXP_BASE wxFileSystemWatcherEvent: public wxEvent
|
||||
{
|
||||
public:
|
||||
wxFileSystemWatcherEvent(int changeType, int watchid = wxID_ANY) :
|
||||
wxFileSystemWatcherEvent(int changeType = 0, int watchid = wxID_ANY) :
|
||||
wxEvent(watchid, wxEVT_FSWATCHER),
|
||||
m_changeType(changeType)
|
||||
{
|
||||
@ -149,7 +151,7 @@ public:
|
||||
|
||||
virtual wxEventCategory GetEventCategory() const
|
||||
{
|
||||
// TODO this has to be merged with "similiar" categories and changed
|
||||
// TODO this has to be merged with "similar" categories and changed
|
||||
return wxEVT_CATEGORY_UNKNOWN;
|
||||
}
|
||||
|
||||
@ -176,6 +178,8 @@ protected:
|
||||
wxFileName m_path;
|
||||
wxFileName m_newPath;
|
||||
wxString m_errorMsg;
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxFileSystemWatcherEvent)
|
||||
};
|
||||
|
||||
typedef void (wxEvtHandler::*wxFileSystemWatcherEventFunction)
|
||||
@ -196,12 +200,16 @@ class wxFSWatchInfo
|
||||
{
|
||||
public:
|
||||
wxFSWatchInfo() :
|
||||
m_events(-1), m_type(wxFSWPath_None)
|
||||
m_events(-1), m_type(wxFSWPath_None), m_refcount(-1)
|
||||
{
|
||||
}
|
||||
|
||||
wxFSWatchInfo(const wxString& path, int events, wxFSWPathType type) :
|
||||
m_path(path), m_events(events), m_type(type)
|
||||
wxFSWatchInfo(const wxString& path,
|
||||
int events,
|
||||
wxFSWPathType type,
|
||||
const wxString& filespec = wxString()) :
|
||||
m_path(path), m_filespec(filespec), m_events(events), m_type(type),
|
||||
m_refcount(1)
|
||||
{
|
||||
}
|
||||
|
||||
@ -210,6 +218,8 @@ public:
|
||||
return m_path;
|
||||
}
|
||||
|
||||
const wxString& GetFilespec() const { return m_filespec; }
|
||||
|
||||
int GetFlags() const
|
||||
{
|
||||
return m_events;
|
||||
@ -220,10 +230,27 @@ public:
|
||||
return m_type;
|
||||
}
|
||||
|
||||
// Reference counting of watch entries is used to avoid watching the same
|
||||
// file system path multiple times (this can happen even accidentally, e.g.
|
||||
// when you have a recursive watch and then decide to watch some file or
|
||||
// directory under it separately).
|
||||
int IncRef()
|
||||
{
|
||||
return ++m_refcount;
|
||||
}
|
||||
|
||||
int DecRef()
|
||||
{
|
||||
wxASSERT_MSG( m_refcount > 0, wxS("Trying to decrement a zero count") );
|
||||
return --m_refcount;
|
||||
}
|
||||
|
||||
protected:
|
||||
wxString m_path;
|
||||
wxString m_filespec; // For tree watches, holds any filespec to apply
|
||||
int m_events;
|
||||
wxFSWPathType m_type;
|
||||
int m_refcount;
|
||||
};
|
||||
|
||||
WX_DECLARE_STRING_HASH_MAP(wxFSWatchInfo, wxFSWatchInfoMap);
|
||||
@ -260,7 +287,7 @@ public:
|
||||
* of particular type.
|
||||
*/
|
||||
virtual bool AddTree(const wxFileName& path, int events = wxFSW_EVENT_ALL,
|
||||
const wxString& filter = wxEmptyString);
|
||||
const wxString& filespec = wxEmptyString);
|
||||
|
||||
/**
|
||||
* Removes path from the list of watched paths.
|
||||
@ -305,6 +332,14 @@ public:
|
||||
m_owner = handler;
|
||||
}
|
||||
|
||||
|
||||
// This is a semi-private function used by wxWidgets itself only.
|
||||
//
|
||||
// Delegates the real work of adding the path to wxFSWatcherImpl::Add() and
|
||||
// updates m_watches if the new path was successfully added.
|
||||
bool AddAny(const wxFileName& path, int events, wxFSWPathType type,
|
||||
const wxString& filespec = wxString());
|
||||
|
||||
protected:
|
||||
|
||||
static wxString GetCanonicalPath(const wxFileName& path)
|
||||
@ -320,10 +355,6 @@ protected:
|
||||
return path_copy.GetFullPath();
|
||||
}
|
||||
|
||||
// Delegates the real work of adding the path to wxFSWatcherImpl::Add() and
|
||||
// updates m_watches if the new path was successfully added.
|
||||
bool DoAdd(const wxFileName& path, int events, wxFSWPathType type);
|
||||
|
||||
|
||||
wxFSWatchInfoMap m_watches; // path=>wxFSWatchInfo map
|
||||
wxFSWatcherImpl* m_service; // file system events service
|
||||
|
Reference in New Issue
Block a user