MCPcopy Create free account
hub / github.com/Artikash/Textractor / Load

Function Load

GUI/extenwindow.cpp:34–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32 ExtenWindow* This = nullptr;
33
34 bool Load(QString extenName)
35 {
36 if (extenName.endsWith(".dll")) extenName.chop(4);
37 if (extenName.endsWith(".xdll")) extenName.chop(5);
38 if (!QFile::exists(extenName + ".xdll")) QFile::copy(extenName + ".dll", extenName + ".xdll");
39 // Extension must export "OnNewSentence"
40 if (QTextFile(extenName + ".xdll", QIODevice::ReadOnly).readAll().contains("OnNewSentence"))
41 {
42 if (HMODULE module = LoadLibraryW(S(extenName + ".xdll").c_str()))
43 {
44 if (auto callback = (decltype(Extension::callback))GetProcAddress(module, "OnNewSentence"))
45 {
46 std::scoped_lock lock(extenMutex);
47 extensions.push_back({ S(extenName), callback });
48 return true;
49 }
50 FreeLibrary(module);
51 }
52 }
53 return false;
54 }
55
56 void Unload(int index)
57 {

Callers 2

AddFunction · 0.85
ExtenWindowMethod · 0.85

Calls 2

QTextFileClass · 0.85
SFunction · 0.85

Tested by

no test coverage detected