X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fcecloader.h;h=0440501dad4f9630ae1dd5211b4bf5def64e67c2;hb=d2eadc31a366703224b1488c2c65a6f54fb2f18b;hp=d20ca2ff22e22007f0a41fd2e3886e10f9e219e6;hpb=f2198ab5e1803596b15174da8dce022bae5d8282;p=deb_libcec.git diff --git a/include/cecloader.h b/include/cecloader.h index d20ca2f..0440501 100644 --- a/include/cecloader.h +++ b/include/cecloader.h @@ -54,6 +54,21 @@ CEC::ICECAdapter *LoadLibCec(const char *strName, CEC::cec_logical_address iLogi return static_cast< CEC::ICECAdapter* > (CreateLibCec(strName, (uint8_t) iLogicalAddress, iPhysicalAddress)); } +CEC::ICECAdapter *LibCecInit(const char *strDeviceName, CEC::cec_device_type_list types, const char *strLib = NULL) +{ + if (!g_libCEC) + g_libCEC = LoadLibrary(strLib ? strLib : "libcec.dll"); + if (!g_libCEC) + return NULL; + + typedef void* (__cdecl*_LibCecInit)(const char *, CEC::cec_device_type_list); + _LibCecInit LibCecInit; + LibCecInit = (_LibCecInit) (GetProcAddress(g_libCEC, "CECInit")); + if (!LibCecInit) + return NULL; + return static_cast< CEC::ICECAdapter* > (LibCecInit(strDeviceName, types)); +} + void UnloadLibCec(CEC::ICECAdapter *device) { typedef void (__cdecl*_DestroyLibCec)(void * device);