1 /*========================== begin_copyright_notice ============================
2 
3 Copyright (C) 2017-2021 Intel Corporation
4 
5 SPDX-License-Identifier: MIT
6 
7 ============================= end_copyright_notice ===========================*/
8 
9 #include "cif/builtins/builtins_registry.h"
10 
11 #include "cif/export/cif_main_impl.h"
12 
13 #include "cif/builtins/memory/buffer/impl/buffer_impl.h"
14 
15 namespace CIF {
16 
17 namespace Builtins {
18 
19 // List of all supported builtins
20 using AllBuiltinsListT =  InterfacesList<CIF::Builtins::Buffer>;
21 
IsBuiltin(InterfaceId_t intId)22 bool IsBuiltin(InterfaceId_t intId){
23     return AllBuiltinsListT::ContainsInterface(intId);
24 }
25 
Create(InterfaceId_t entryPointInterface,Version_t version,ICIF * parentInterface)26 ICIF *Create(InterfaceId_t entryPointInterface, Version_t version, ICIF *parentInterface){
27     return AllBuiltinsListT::template forwardToOne<Helpers::ForwardCreateInterfaceImpl, ICIF *, ICIF *>(entryPointInterface, nullptr, version, version, parentInterface);
28 }
29 
GetSupportedVersions(InterfaceId_t entryPointInterface,Version_t & verMin,Version_t & verMax)30 bool GetSupportedVersions(InterfaceId_t entryPointInterface, Version_t &verMin, Version_t &verMax){
31     return AllBuiltinsListT::template forwardToOne<Helpers::ForwardGetSupportedVersions, bool>(entryPointInterface, false, verMin, verMax);
32 }
33 
FindIncompatible(InterfaceId_t entryPointInterface,CIF::CompatibilityDataHandle handle)34 InterfaceId_t FindIncompatible(InterfaceId_t entryPointInterface, CIF::CompatibilityDataHandle handle){
35     return AllBuiltinsListT::template forwardToOne<Helpers::ForwardGetFirstIncompatible, InterfaceId_t>(entryPointInterface, entryPointInterface, handle);
36 }
37 
38 }
39 
40 }
41