#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 );
};