11#ifndef INCGUARD_MGL_FILE_MOUNTER_H_1611105265
12#define INCGUARD_MGL_FILE_MOUNTER_H_1611105265
64 _defaultDelegateKey = key;
69 std::recursive_mutex _mountMutex;
72 std::mutex _delegateMutex;
ファイルマウンタ
Definition mgl_file_mounter.h:27
static STL::unique_ptr< Mounter > & GetInstanceRef() noexcept
インスタンスの取得
Definition mgl_file_mounter.cc:21
Result AddDelegate(DelegateKey key, const SharedDelegate &delegate) noexcept
デリゲートを追加
Definition mgl_file_mounter.cc:170
std::shared_ptr< MountProperty > SharedMountProperty
マウント情報の共有ポインタ
Definition mgl_file_mounter.h:40
Result Mount(const PathView &mountName, const PathView &path, MountAccessType accessType, DelegateKey delegateKey=kDefaultDelegateKey) noexcept
マウント
Definition mgl_file_mounter.cc:38
Result Unmount(const PathView &mountName) noexcept
マウント解除
Definition mgl_file_mounter.cc:106
Result RemoveDelegate(DelegateKey key) noexcept
デリゲートを削除
Definition mgl_file_mounter.cc:199
void SetDefaultDelegate(DelegateKey key) noexcept
デフォルトのデリゲートを設定
Definition mgl_file_mounter.h:62
bool IsMounted(const PathView &mountName) noexcept
マウントされているかを取得
Definition mgl_file_mounter.cc:153
SharedMountProperty Get(const PathView &mountName) noexcept
マウント情報を取得
Definition mgl_file_mounter.cc:131
SharedDelegate GetDelegate(DelegateKey key=kDefaultDelegateKey) noexcept
デリゲートを取得
Definition mgl_file_mounter.cc:229
static constexpr DelegateKey kDefaultDelegateKey
デフォルトを表す予約デリゲートキー
Definition mgl_file_mounter.h:43
ファイルパスクラス
Definition mgl_file_path.h:20
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
シングルトンテンプレート(共有ライブラリ用)
Definition mgl_singleton.h:44
MountAccessType
マウント時のアクセスタイプ
Definition mgl_file_defs.h:56
DelegateKey
デリゲートキーの型
Definition mgl_file_defs.h:23
std::shared_ptr< Delegate > SharedDelegate
デリゲートの共有ポインタ
Definition mgl_file_defs.h:44
constexpr DelegateKey MakeDelegateKey(const char *keyString, uint32_t seed=kDefaultDelegateKeySeed) noexcept
デリゲートキーの生成
Definition mgl_file_defs.h:36
std::shared_ptr< MountWork > SharedMountWork
マウント毎のワークの共有ポインタ
Definition mgl_file_mount_work.h:51
std::unordered_map< Key, T, Hash, Pred, Allocator< std::pair< const Key, T > > > unordered_map
std::unordered_mapの代替
Definition mgl_stl_containers.h:71
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247
マウント情報
Definition mgl_file_mounter.h:31
SharedMountWork mountWork
マウント毎のワーク
Definition mgl_file_mounter.h:36
Path path
マウントパス
Definition mgl_file_mounter.h:33
MountAccessType accessType
アクセスタイプ
Definition mgl_file_mounter.h:34
Path name
マウント名
Definition mgl_file_mounter.h:32
SharedDelegate delegate
ファイルデリゲート
Definition mgl_file_mounter.h:35