/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ namespace EMotionFX { class ParameterFactory; namespace Internal { ParameterFactory* GetParameterFactory(); } // namespace Internal class ParameterFactory { public: MOCK_CONST_METHOD1(CreateImpl, Parameter*(const AZ::TypeId& type)); static Parameter* Create(const AZ::TypeId& type) { return Internal::GetParameterFactory()->CreateImpl(type); } }; namespace Internal { ParameterFactory* GetParameterFactory() { static ParameterFactory factory; return &factory; } } // namespace Internal } // namespace EMotionFX