! * @brief Create a new libCEC instance. * @param configuration The configuration to pass to libCEC * @param strLib The name of and/or path to libCEC * @return 1 when loaded, 0 if libCEC failed to initialise, -1 if methods failed to be resolved */
| 303 | * @return 1 when loaded, 0 if libCEC failed to initialise, -1 if methods failed to be resolved |
| 304 | */ |
| 305 | int libcecc_initialise(CEC_NAMESPACE libcec_configuration* configuration, libcec_interface_t* iface, const char* strLib) |
| 306 | { |
| 307 | void* (CDECL *_cec_initialise)(CEC_NAMESPACE libcec_configuration*); |
| 308 | |
| 309 | libcecc_lib_instance_t lib; |
| 310 | lib = libcecc_load_library(strLib); |
| 311 | if (lib == NULL) |
| 312 | return -1; |
| 313 | |
| 314 | _libcecc_resolve(lib, _cec_initialise, "libcec_initialise", void* (CDECL *)(CEC_NAMESPACE libcec_configuration*)); |
| 315 | |
| 316 | iface->lib_instance = lib; |
| 317 | iface->connection = _cec_initialise(configuration); |
| 318 | |
| 319 | return iface->connection ? |
| 320 | libcecc_resolve_all(lib, iface) : |
| 321 | 0; |
| 322 | } |
| 323 | |
| 324 | /*! |
| 325 | * @brief Destroy an instance of libCEC. |
no test coverage detected