summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/AddonCallbacks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/AddonCallbacks.cpp')
-rw-r--r--xbmc/addons/AddonCallbacks.cpp173
1 files changed, 0 insertions, 173 deletions
diff --git a/xbmc/addons/AddonCallbacks.cpp b/xbmc/addons/AddonCallbacks.cpp
deleted file mode 100644
index 8634373..0000000
--- a/xbmc/addons/AddonCallbacks.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
1/*
2 * Copyright (C) 2012-2013 Team XBMC
3 * http://xbmc.org
4 *
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with XBMC; see the file COPYING. If not, see
17 * <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#include "Addon.h"
22#include "AddonCallbacks.h"
23#include "AddonCallbacksAddon.h"
24#include "AddonCallbacksCodec.h"
25#include "AddonCallbacksGUI.h"
26#include "AddonCallbacksPVR.h"
27#include "filesystem/SpecialProtocol.h"
28#include "utils/log.h"
29
30namespace ADDON
31{
32
33CAddonCallbacks::CAddonCallbacks(CAddon* addon)
34{
35 m_addon = addon;
36 m_callbacks = new AddonCB;
37 m_helperAddon = NULL;
38 m_helperGUI = NULL;
39 m_helperPVR = NULL;
40 m_helperCODEC = NULL;
41
42 m_callbacks->libBasePath = strdup(CSpecialProtocol::TranslatePath("special://xbmcbin/addons").c_str());
43 m_callbacks->addonData = this;
44 m_callbacks->AddOnLib_RegisterMe = CAddonCallbacks::AddOnLib_RegisterMe;
45 m_callbacks->AddOnLib_UnRegisterMe = CAddonCallbacks::AddOnLib_UnRegisterMe;
46 m_callbacks->CODECLib_RegisterMe = CAddonCallbacks::CODECLib_RegisterMe;
47 m_callbacks->CODECLib_UnRegisterMe = CAddonCallbacks::CODECLib_UnRegisterMe;
48 m_callbacks->GUILib_RegisterMe = CAddonCallbacks::GUILib_RegisterMe;
49 m_callbacks->GUILib_UnRegisterMe = CAddonCallbacks::GUILib_UnRegisterMe;
50 m_callbacks->PVRLib_RegisterMe = CAddonCallbacks::PVRLib_RegisterMe;
51 m_callbacks->PVRLib_UnRegisterMe = CAddonCallbacks::PVRLib_UnRegisterMe;
52}
53
54CAddonCallbacks::~CAddonCallbacks()
55{
56 delete m_helperAddon;
57 m_helperAddon = NULL;
58 delete m_helperCODEC;
59 m_helperCODEC = NULL;
60 delete m_helperGUI;
61 m_helperGUI = NULL;
62 delete m_helperPVR;
63 m_helperPVR = NULL;
64 free((char*)m_callbacks->libBasePath);
65 delete m_callbacks;
66 m_callbacks = NULL;
67}
68
69CB_AddOnLib* CAddonCallbacks::AddOnLib_RegisterMe(void *addonData)
70{
71 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
72 if (addon == NULL)
73 {
74 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
75 return NULL;
76 }
77
78 addon->m_helperAddon = new CAddonCallbacksAddon(addon->m_addon);
79 return addon->m_helperAddon->GetCallbacks();
80}
81
82void CAddonCallbacks::AddOnLib_UnRegisterMe(void *addonData, CB_AddOnLib *cbTable)
83{
84 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
85 if (addon == NULL)
86 {
87 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
88 return;
89 }
90
91 delete addon->m_helperAddon;
92 addon->m_helperAddon = NULL;
93}
94
95CB_CODECLib* CAddonCallbacks::CODECLib_RegisterMe(void *addonData)
96{
97 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
98 if (addon == NULL)
99 {
100 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
101 return NULL;
102 }
103
104 addon->m_helperCODEC = new CAddonCallbacksCodec(addon->m_addon);
105 return addon->m_helperCODEC->GetCallbacks();
106}
107
108void CAddonCallbacks::CODECLib_UnRegisterMe(void *addonData, CB_CODECLib *cbTable)
109{
110 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
111 if (addon == NULL)
112 {
113 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
114 return;
115 }
116
117 delete addon->m_helperCODEC;
118 addon->m_helperCODEC = NULL;
119}
120
121CB_GUILib* CAddonCallbacks::GUILib_RegisterMe(void *addonData)
122{
123 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
124 if (addon == NULL)
125 {
126 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
127 return NULL;
128 }
129
130 addon->m_helperGUI = new CAddonCallbacksGUI(addon->m_addon);
131 return addon->m_helperGUI->GetCallbacks();
132}
133
134void CAddonCallbacks::GUILib_UnRegisterMe(void *addonData, CB_GUILib *cbTable)
135{
136 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
137 if (addon == NULL)
138 {
139 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
140 return;
141 }
142
143 delete addon->m_helperGUI;
144 addon->m_helperGUI = NULL;
145}
146
147CB_PVRLib* CAddonCallbacks::PVRLib_RegisterMe(void *addonData)
148{
149 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
150 if (addon == NULL)
151 {
152 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
153 return NULL;
154 }
155
156 addon->m_helperPVR = new CAddonCallbacksPVR(addon->m_addon);
157 return addon->m_helperPVR->GetCallbacks();
158}
159
160void CAddonCallbacks::PVRLib_UnRegisterMe(void *addonData, CB_PVRLib *cbTable)
161{
162 CAddonCallbacks* addon = (CAddonCallbacks*) addonData;
163 if (addon == NULL)
164 {
165 CLog::Log(LOGERROR, "CAddonCallbacks - %s - called with a null pointer", __FUNCTION__);
166 return;
167 }
168
169 delete addon->m_helperPVR;
170 addon->m_helperPVR = NULL;
171}
172
173}; /* namespace ADDON */