39#ifndef AGS_SHARED_CORE_ASSET_MANAGER_H
40#define AGS_SHARED_CORE_ASSET_MANAGER_H
42#include "common/stream.h"
43#include "common/std/functional.h"
44#include "common/std/memory.h"
45#include "ags/shared/core/asset.h"
46#include "ags/shared/util/file.h"
55enum AssetSearchPriority {
62 kAssetErrNoLibFile = -1,
63 kAssetErrLibParse = -2,
64 kAssetErrNoManager = -6,
86 static bool IsDataFile(
const String &data_file);
91 void SetSearchPriority(AssetSearchPriority priority);
93 AssetSearchPriority GetSearchPriority()
const;
101 void RemoveLibrary(
const String &path);
103 void RemoveAllLibraries();
105 size_t GetLibraryCount()
const;
108 bool DoesAssetExist(
const String &asset_name,
const String &filter =
"")
const;
109 inline bool DoesAssetExist(
const AssetPath &apath)
const {
110 return DoesAssetExist(apath.Name, apath.Filter);
115 const String &filter =
"")
const;
122 return OpenAsset(apath.Name, apath.Filter);
136 bool TestFilter(
const String &filter)
const;
140 AssetError RegisterAssetLib(
const String &path, AssetLibEx *&lib);
143 Stream *OpenAssetFromLib(
const AssetLibEx *lib,
const String &asset_name)
const;
144 Stream *OpenAssetFromDir(
const AssetLibEx *lib,
const String &asset_name)
const;
149 AssetSearchPriority _libsPriority = kAssetPriorityDir;
154String GetAssetErrorText(AssetError err);
Definition: asset_manager.h:78
Definition: asset_manager.h:70