AddOn manager
[platform/core/uifw/dali-adaptor.git] / dali / internal / addons / common / addon-manager.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // INTERNAL INCLUDES
19 #include "addon-manager.h"
20 #include <dali/internal/addons/common/addon-manager-impl.h>
21
22 namespace Dali
23 {
24 namespace Internal
25 {
26 namespace AddOnManagerFactory
27 {
28 __attribute__((weak)) Dali::Integration::AddOnManager* CreateAddOnManager()
29 {
30   return nullptr;
31 }
32
33 } // AddOnManagerFactory
34 }
35
36 namespace Adaptor
37 {
38
39 AddOnManager::AddOnManager(Internal::AddOnManager* impl ) : Integration::AddOnManager()
40 {
41   mImpl.reset(impl);
42 }
43
44 AddOnManager::~AddOnManager() = default;
45
46 void AddOnManager::RegisterAddOnDispatchTable( const AddOnDispatchTable* dispatchTable )
47 {
48   mImpl->RegisterAddOnDispatchTable( dispatchTable );
49 }
50
51 std::vector<std::string> AddOnManager::EnumerateAddOns()
52 {
53   return mImpl->EnumerateAddOns();
54 }
55
56 bool AddOnManager::GetAddOnInfo(const std::string& name, AddOnInfo& info )
57 {
58   return mImpl->GetAddOnInfo( name, info );
59 }
60
61 std::vector<Dali::AddOnLibrary> AddOnManager::LoadAddOns(const std::vector<std::string>& addonNames )
62 {
63   return std::move(mImpl->LoadAddOns( addonNames ));
64 }
65
66 void* AddOnManager::GetGlobalProc(const Dali::AddOnLibrary& addonHandle, const char *procName)
67 {
68   return mImpl->GetGlobalProc( addonHandle, procName );
69 }
70
71 void* AddOnManager::GetInstanceProc(const Dali::AddOnLibrary& addonHandle, const char* procName )
72 {
73   return mImpl->GetInstanceProc( addonHandle, procName );
74 }
75
76 void AddOnManager::Pause()
77 {
78   mImpl->Pause();
79 }
80
81 void AddOnManager::Resume()
82 {
83   mImpl->Resume();
84 }
85
86 void AddOnManager::Start()
87 {
88   mImpl->Start();
89 }
90
91 void AddOnManager::Stop()
92 {
93   mImpl->Stop();
94 }
95
96 }
97 }