demotool/common.hh
Emmanuel BENOîT 3344f96af0 "Interactive mode" for common code
This prevents the script manager and sync manager from watching/loading
their files unless they're explicitely started using
Common::SetInteractiveMode()

This will avoid having the whole thing loaded twice when running the
builder.
2017-12-28 17:16:39 +01:00

31 lines
604 B
C++

#pragma once
#ifndef REAL_BUILD
# include "externals.hh"
#endif
struct T_Project;
struct T_FilesWatcher;
struct T_SyncManager;
struct T_ScriptManager;
class T_UndoManager;
struct Common
{
explicit Common( T_FSPath const& path = {} ) noexcept;
~Common( ) noexcept;
static void SetInteractiveMode( ) noexcept;
static T_Project& Project( ) noexcept;
static T_FilesWatcher& Watcher( ) noexcept;
static T_SyncManager& Sync( ) noexcept;
static T_ScriptManager& Ops( ) noexcept;
static T_UndoManager& Undo( ) noexcept;
private:
Common( ) = delete;
NO_COPY( Common );
NO_MOVE( Common );
};