/* * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. * * NVIDIA CORPORATION and its licensors retain all intellectual property * and proprietary rights in and to this software, related documentation * and any modifications thereto. Any use, reproduction, disclosure or * distribution of this software and related documentation without an express * license agreement from NVIDIA CORPORATION is strictly prohibited. */ #ifndef MODULE_MODULEBASICIOSLEGACYREGISTRATIONH_H #define MODULE_MODULEBASICIOSLEGACYREGISTRATIONH_H #include "PsAllocator.h" #include "NvRegistrationsForTraitsBase.h" #include "nvparameterized/NvParameterizedTraits.h" #include "PxAssert.h" #include // INCLUDE GENERATED FACTORIES #include "BasicIOSAssetParam_0p0.h" #include "BasicIOSAssetParam_0p1.h" #include "BasicIOSAssetParam_0p2.h" #include "BasicIOSAssetParam_0p3.h" #include "BasicIOSAssetParam_0p4.h" #include "BasicIOSAssetParam_0p5.h" #include "BasicIOSAssetParam_0p6.h" #include "BasicIOSAssetParam_0p7.h" #include "BasicIOSAssetParam_0p8.h" #include "BasicIOSAssetParam_0p9.h" #include "BasicIOSAssetParam_1p0.h" #include "BasicIOSAssetParam_1p1.h" #include "BasicIOSAssetParam_1p2.h" #include "BasicIOSAssetParam_1p3.h" #include "BasicIOSAssetParam_1p4.h" #include "BasicIosDebugRenderParams_0p0.h" #include "BasicIosModuleParameters_0p0.h" // INCLUDE GENERATED CONVERSION #include "ConversionBasicIOSAssetParam_0p0_0p1.h" #include "ConversionBasicIOSAssetParam_0p1_0p2.h" #include "ConversionBasicIOSAssetParam_0p2_0p3.h" #include "ConversionBasicIOSAssetParam_0p3_0p4.h" #include "ConversionBasicIOSAssetParam_0p4_0p5.h" #include "ConversionBasicIOSAssetParam_0p5_0p6.h" #include "ConversionBasicIOSAssetParam_0p6_0p7.h" #include "ConversionBasicIOSAssetParam_0p7_0p8.h" #include "ConversionBasicIOSAssetParam_0p8_0p9.h" #include "ConversionBasicIOSAssetParam_0p9_1p0.h" #include "ConversionBasicIOSAssetParam_1p0_1p1.h" #include "ConversionBasicIOSAssetParam_1p1_1p2.h" #include "ConversionBasicIOSAssetParam_1p2_1p3.h" #include "ConversionBasicIOSAssetParam_1p3_1p4.h" // global namespace class ModuleBasicIOSLegacyRegistration : public NvParameterized::RegistrationsForTraitsBase { public: static void invokeRegistration(NvParameterized::Traits* parameterizedTraits) { if (parameterizedTraits) { ModuleBasicIOSLegacyRegistration().registerAll(*parameterizedTraits); } } static void invokeUnregistration(NvParameterized::Traits* parameterizedTraits) { if (parameterizedTraits) { ModuleBasicIOSLegacyRegistration().unregisterAll(*parameterizedTraits); } } void registerAvailableFactories(NvParameterized::Traits& parameterizedTraits) { ::NvParameterized::Factory* factoriesToRegister[] = { // REGISTER GENERATED FACTORIES new nvidia::parameterized::BasicIOSAssetParam_0p0Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p1Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p2Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p3Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p4Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p5Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p6Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p7Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p8Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p9Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p0Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p1Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p2Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p3Factory(), }; for (size_t i = 0; i < sizeof(factoriesToRegister)/sizeof(factoriesToRegister[0]); ++i) { parameterizedTraits.registerFactory(*factoriesToRegister[i]); } } virtual void registerAvailableConverters(NvParameterized::Traits& parameterizedTraits) { // REGISTER GENERATED CONVERSION { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p0_0p1 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p1_0p2 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p2_0p3 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p3_0p4 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p4_0p5 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p5_0p6 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p6_0p7 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p7_0p8 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p8_0p9 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p9_1p0 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p0_1p1 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p1_1p2 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p2_1p3 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p3_1p4 ConverterToRegister; parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), ConverterToRegister::TOldClass::ClassVersion, ConverterToRegister::TNewClass::ClassVersion, *(ConverterToRegister::Create(¶meterizedTraits))); } } void unregisterAvailableFactories(NvParameterized::Traits& parameterizedTraits) { struct FactoryDesc { const char* name; uint32_t version; }; ::NvParameterized::Factory* factoriesToUnregister[] = { // UNREGISTER GENERATED FACTORIES new nvidia::parameterized::BasicIOSAssetParam_0p0Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p1Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p2Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p3Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p4Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p5Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p6Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p7Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p8Factory(), new nvidia::parameterized::BasicIOSAssetParam_0p9Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p0Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p1Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p2Factory(), new nvidia::parameterized::BasicIOSAssetParam_1p3Factory(), }; for (size_t i = 0; i < sizeof(factoriesToUnregister)/sizeof(factoriesToUnregister[0]); ++i) { ::NvParameterized::Factory* removedFactory = parameterizedTraits.removeFactory(factoriesToUnregister[i]->getClassName(), factoriesToUnregister[i]->getVersion()); if (!removedFactory) { PX_ASSERT_WITH_MESSAGE(0, "Factory can not be removed!"); } else { removedFactory->freeParameterDefinitionTable(¶meterizedTraits); delete removedFactory; delete factoriesToUnregister[i]; } } } virtual void unregisterAvailableConverters(NvParameterized::Traits& parameterizedTraits) { // UNREGISTER GENERATED CONVERSION { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p0_0p1 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p1_0p2 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p2_0p3 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p3_0p4 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p4_0p5 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p5_0p6 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p6_0p7 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p7_0p8 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p8_0p9 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_0p9_1p0 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p0_1p1 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p1_1p2 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p2_1p3 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } { typedef nvidia::apex::legacy::ConversionBasicIOSAssetParam_1p3_1p4 ConverterToUnregister; ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), ConverterToUnregister::TOldClass::ClassVersion, ConverterToUnregister::TNewClass::ClassVersion); if (removedConv) { removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE } else { // assert("Conversion was not found"); } } } }; // global namespace #endif