aboutsummaryrefslogtreecommitdiff
path: root/sdk/extensions/import/apexmodules/NvParameterized/include/NvRegistrationsForTraitsBase.h
blob: 1f7b4a71913acdd33a24a2b703d1572a39aae276 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef MODULE_REGISTRATION_FOR_TRAITS_BASE_H
#define MODULE_REGISTRATION_FOR_TRAITS_BASE_H

#include "nvparameterized/NvParameterizedTraits.h"

namespace NvParameterized
{
	class RegistrationsForTraitsBase
	{
	public:
		virtual void registerAvailableFactories(NvParameterized::Traits& parameterizedTraits) = 0;
		virtual void registerAvailableConverters(NvParameterized::Traits& parameterizedTraits) = 0;
		virtual void registerAll(NvParameterized::Traits& parameterizedTraits)
		{
			registerAvailableFactories(parameterizedTraits);
			registerAvailableConverters(parameterizedTraits);
		}

		virtual void unregisterAvailableFactories(NvParameterized::Traits& parameterizedTraits) = 0;
		virtual void unregisterAvailableConverters(NvParameterized::Traits& parameterizedTraits) = 0;
		virtual void unregisterAll(NvParameterized::Traits& parameterizedTraits)
		{
			unregisterAvailableFactories(parameterizedTraits);
			unregisterAvailableConverters(parameterizedTraits);
		}
	};
}

#endif