3
* Copyright (C) 2018 Infactum
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU Affero General Public License as
7
* published by the Free Software Foundation, either version 3 of the
8
* License, or (at your option) any later version.
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 Affero General Public License for more details.
15
* You should have received a copy of the GNU Affero General Public License
16
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
#include <ComponentBase.h>
26
#pragma warning (disable : 4311 4302)
29
const WCHAR_T *GetClassNames() {
30
// Might contain multiple class names seperated by |
31
static char16_t cls_names[] = u"Gen";
32
return reinterpret_cast<WCHAR_T *>(cls_names);
35
long GetClassObject(const WCHAR_T *clsName, IComponentBase **pInterface) {
37
auto cls_name = std::u16string(reinterpret_cast<const char16_t *>(clsName));
38
if (cls_name == u"Gen") {
39
*pInterface = new DService;
41
return (long) *pInterface;
46
long DestroyObject(IComponentBase **pInterface) {
52
*pInterface = nullptr;
56
AppCapabilities SetPlatformCapabilities(const AppCapabilities capabilities) {
57
return eAppCapabilitiesLast;