Cleanup: Use reference where null asset library is not possible
It should not be possible to end up with an asset representation that does not have a valid pointer/reference to the asset library owning it, it's injected via all constructors. So reflect that by using a reference instead of a (possibly null) pointer.
This commit is contained in:
parent
38c2305457
commit
6d387b3ba8
@ -39,7 +39,7 @@ class AssetRepresentation {
|
||||
*/
|
||||
const bool is_local_id_ = false;
|
||||
/** Asset library that owns this asset representation. */
|
||||
const AssetLibrary *owner_asset_library_;
|
||||
const AssetLibrary &owner_asset_library_;
|
||||
|
||||
struct ExternalAsset {
|
||||
std::string name;
|
||||
|
@ -24,7 +24,7 @@ AssetRepresentation::AssetRepresentation(AssetIdentifier &&identifier,
|
||||
const AssetLibrary &owner_asset_library)
|
||||
: identifier_(identifier),
|
||||
is_local_id_(false),
|
||||
owner_asset_library_(&owner_asset_library),
|
||||
owner_asset_library_(owner_asset_library),
|
||||
external_asset_()
|
||||
{
|
||||
external_asset_.name = name;
|
||||
@ -37,7 +37,7 @@ AssetRepresentation::AssetRepresentation(AssetIdentifier &&identifier,
|
||||
const AssetLibrary &owner_asset_library)
|
||||
: identifier_(identifier),
|
||||
is_local_id_(true),
|
||||
owner_asset_library_(&owner_asset_library),
|
||||
owner_asset_library_(owner_asset_library),
|
||||
local_asset_id_(&id)
|
||||
{
|
||||
if (!id.asset_data) {
|
||||
@ -59,11 +59,7 @@ const AssetIdentifier &AssetRepresentation::get_identifier() const
|
||||
|
||||
AssetWeakReference *AssetRepresentation::make_weak_reference() const
|
||||
{
|
||||
if (!owner_asset_library_) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return AssetWeakReference::make_reference(*owner_asset_library_, identifier_);
|
||||
return AssetWeakReference::make_reference(owner_asset_library_, identifier_);
|
||||
}
|
||||
|
||||
StringRefNull AssetRepresentation::get_name() const
|
||||
@ -91,26 +87,20 @@ AssetMetaData &AssetRepresentation::get_metadata() const
|
||||
|
||||
std::optional<eAssetImportMethod> AssetRepresentation::get_import_method() const
|
||||
{
|
||||
if (!owner_asset_library_) {
|
||||
return {};
|
||||
}
|
||||
return owner_asset_library_->import_method_;
|
||||
return owner_asset_library_.import_method_;
|
||||
}
|
||||
|
||||
bool AssetRepresentation::may_override_import_method() const
|
||||
{
|
||||
if (!owner_asset_library_ || !owner_asset_library_->import_method_) {
|
||||
if (!owner_asset_library_.import_method_) {
|
||||
return true;
|
||||
}
|
||||
return owner_asset_library_->may_override_import_method_;
|
||||
return owner_asset_library_.may_override_import_method_;
|
||||
}
|
||||
|
||||
bool AssetRepresentation::get_use_relative_path() const
|
||||
{
|
||||
if (!owner_asset_library_) {
|
||||
return false;
|
||||
}
|
||||
return owner_asset_library_->use_relative_path_;
|
||||
return owner_asset_library_.use_relative_path_;
|
||||
}
|
||||
|
||||
ID *AssetRepresentation::local_id() const
|
||||
@ -125,7 +115,7 @@ bool AssetRepresentation::is_local_id() const
|
||||
|
||||
const AssetLibrary &AssetRepresentation::owner_asset_library() const
|
||||
{
|
||||
return *owner_asset_library_;
|
||||
return owner_asset_library_;
|
||||
}
|
||||
|
||||
} // namespace blender::asset_system
|
||||
|
Loading…
Reference in New Issue
Block a user