summaryrefslogtreecommitdiff
path: root/libs/JSystem/src/JStudio/JStudio_JAudio2/control.cpp
blob: 6fc661ddcddc3b576652080fb73da9483bb02b03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
// control
//

#include "JSystem/JSystem.h" // IWYU pragma: keep

#include "JSystem/JStudio/JStudio_JAudio2/control.h"
#include "JSystem/JGadget/pointer.h"

JStudio_JAudio2::TCreateObject::~TCreateObject() {}

bool JStudio_JAudio2::TCreateObject::create(
    JStudio::TObject** ppObject, JStudio::stb::data::TParse_TBlock_object const& param_2) {
    JUT_ASSERT(40, ppObject!=NULL);
    CreateFunc func;
    switch (param_2.get_type()) {
    case 'JSND':
        func = createObject_JAI_SOUND_;
        break;
    default:
        return false;
    }
    *ppObject = func(param_2, this);
    return 1;
}

JStudio::TObject* JStudio_JAudio2::TCreateObject::createObject_JAI_SOUND_(
    JStudio::stb::data::TParse_TBlock_object const& param_1,
    JStudio_JAudio2::TCreateObject* param_2) {
    JStudio_JAudio2::TAdaptor_sound* adaptor = new JStudio_JAudio2::TAdaptor_sound(param_2);
    if (adaptor == NULL) {
        return NULL;
    }
    JGadget::TPointer_delete<JStudio_JAudio2::TAdaptor_sound> deleteGuard(adaptor);
    adaptor->set_bPermit_onExit_notEnd_(param_2->isPermit_onExit_notEnd());
    JStudio::TObject_sound* soundObj =
        JStudio::TCreateObject::createFromAdaptor<JStudio_JAudio2::TAdaptor_sound>(param_1,
                                                                                   adaptor);
    if (soundObj == NULL) {
        return NULL;
    }
    deleteGuard.set(NULL);
    return soundObj;
}