dservice

Форк
0
Форк от valentingushchin/dservice
/
exports.cpp 
58 строк · 1.6 Кб
1
/*
2
 *  Modern Native AddIn
3
 *  Copyright (C) 2018  Infactum
4
 *
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.
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 Affero General Public License for more details.
14
 *
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/>.
17
 *
18
 */
19

20
#include <ComponentBase.h>
21
#include <types.h>
22

23
#include "DService.h"
24

25
#ifdef _WINDOWS
26
#pragma warning (disable : 4311 4302)
27
#endif
28

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);
33
}
34

35
long GetClassObject(const WCHAR_T *clsName, IComponentBase **pInterface) {
36
    if (!*pInterface) {
37
        auto cls_name = std::u16string(reinterpret_cast<const char16_t *>(clsName));
38
        if (cls_name == u"Gen") {
39
            *pInterface = new DService;
40
        }
41
        return (long) *pInterface;
42
    }
43
    return 0;
44
}
45

46
long DestroyObject(IComponentBase **pInterface) {
47
    if (!*pInterface) {
48
        return -1;
49
    }
50

51
    delete *pInterface;
52
    *pInterface = nullptr;
53
    return 0;
54
}
55

56
AppCapabilities SetPlatformCapabilities(const AppCapabilities capabilities) {
57
    return eAppCapabilitiesLast;
58
}
59

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.