MCPcopy Create free account
hub / github.com/brainflow-dev/brainflow / init_dll_loader

Method init_dll_loader

src/board_controller/ble_lib_board.cpp:28–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26}
27
28bool BLELibBoard::init_dll_loader ()
29{
30#ifndef STATIC_SIMPLEBLE
31 std::lock_guard<std::mutex> lock (BLELibBoard::mutex);
32 if (BLELibBoard::dll_loader == NULL)
33 {
34 char blelib_dir[1024];
35 bool res = get_dll_path (blelib_dir);
36 std::string blelib_path = "";
37#ifdef _WIN32
38 std::string lib_name;
39 if (sizeof (void *) == 4)
40 {
41 lib_name = "simpleble-c32.dll";
42 }
43 else
44 {
45 lib_name = "simpleble-c.dll";
46 }
47#elif defined(__APPLE__)
48 std::string lib_name = "libsimpleble-c.dylib";
49#else
50 std::string lib_name = "libsimpleble-c.so";
51#endif
52 if (res)
53 {
54 blelib_path = std::string (blelib_dir) + lib_name;
55 }
56 else
57 {
58 blelib_path = lib_name;
59 }
60
61 Board::board_logger->debug ("use dyn lib: {}", blelib_path.c_str ());
62 BLELibBoard::dll_loader = new DLLLoader (blelib_path.c_str ());
63 if (!BLELibBoard::dll_loader->load_library ())
64 {
65 Board::board_logger->error ("failed to load lib");
66 delete BLELibBoard::dll_loader;
67 BLELibBoard::dll_loader = NULL;
68 }
69 }
70
71 return BLELibBoard::dll_loader != NULL;
72#else
73 return true;
74#endif
75}
76
77void BLELibBoard::simpleble_free (void *handle)
78{

Callers

nothing calls this directly

Calls 2

get_dll_pathFunction · 0.85
load_libraryMethod · 0.80

Tested by

no test coverage detected