| 26 | } |
| 27 | |
| 28 | bool 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 | |
| 77 | void BLELibBoard::simpleble_free (void *handle) |
| 78 | { |
nothing calls this directly
no test coverage detected