1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef META_INTERFACE_LOADERS_CLASS_CONTENT_LOADER_H 17 #define META_INTERFACE_LOADERS_CLASS_CONTENT_LOADER_H 18 19 #include <meta/interface/interface_macros.h> 20 21 #include "intf_dynamic_content_loader.h" 22 23 META_BEGIN_NAMESPACE() 24 25 META_REGISTER_INTERFACE(IClassContentLoader, "1a48a02c-f12d-11ec-8ea0-0242ac120002") 26 27 /** 28 * @brief The IClassContentLoader interface defines an interface for content loaders 29 * which load their content based on a class id. 30 */ 31 class IClassContentLoader : public IDynamicContentLoader { 32 META_INTERFACE(IDynamicContentLoader, IClassContentLoader) 33 public: 34 /** 35 * @brief Class id of the object to load. 36 */ 37 META_PROPERTY(ObjectId, ClassId); 38 }; 39 40 META_END_NAMESPACE() 41 42 #endif 43