/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include #include #include #include #include namespace AZ { class SerializeContext; namespace SerializeContextTools { class Application; class Utilities final { public: static AZStd::string ReadOutputTargetFromCommandLine(Application& application, const char* defaultFileOrFolder = ""); static AZStd::vector ReadFileListFromCommandLine(Application& application, AZStd::string_view switchName); static AZStd::vector ExpandFileList(const char* root, const AZStd::vector& fileList); static bool HasWildCard(AZStd::string_view string); static void SanitizeFilePath(AZStd::string& filePath); static bool IsSerializationPrimitive(const AZ::Uuid& classId); static AZStd::vector GetSystemComponents(const Application& application); static bool InspectSerializedFile( const char* filePath, SerializeContext* sc, const ObjectStream::ClassReadyCB& classCallback, Data::AssetFilterCB assetFilterCallback = AZ::Data::AssetFilterNoAssetLoading); private: Utilities() = delete; ~Utilities() = delete; Utilities(const Utilities&) = delete; Utilities(Utilities&&) = delete; Utilities& operator=(const Utilities&) = delete; Utilities& operator=(Utilities&&) = delete; }; } // namespace SerializeContextTools } // namespace AZ