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