LibCecSharp: fixed - set the primary LA in CecLogicalAddresses
[deb_libcec.git] / src / LibCecSharp / LibCecSharp.cpp
index fb723236eb0fa4fd3892dbc7b65c8ff3aa050d9f..634edc5ecbb62abafb8a911488049e680c7a5439 100644 (file)
@@ -82,6 +82,7 @@ namespace CecSharp
                        ConvertConfiguration(context, config, libCecConfig);
 
                        m_libCec = (ICECAdapter *) CECInitialise(&libCecConfig);
+                       config->Update(libCecConfig);
 
                        delete context;
                        return m_libCec != NULL;
@@ -134,7 +135,10 @@ namespace CecSharp
                                memcpy_s(config.strDeviceLanguage, 3, strDeviceLanguage, 3);
                        }
 
-                       config.callbacks            = &g_cecCallbacks;
+                       if (netConfig->ServerVersion >= CecServerVersion::Version1_6_3)
+                         config.bMonitorOnly = netConfig->MonitorOnlyClient ? 1 : 0;
+
+                       config.callbacks = &g_cecCallbacks;
                }
 
        public:
@@ -184,7 +188,7 @@ namespace CecSharp
                virtual bool EnableCallbacks(CecCallbackMethods ^ callbacks) override
                {
                        if (m_libCec && CecCallbackMethods::EnableCallbacks(callbacks))
-                               return m_libCec->EnableCallbacks(NULL, &g_cecCallbacks);
+                               return m_libCec->EnableCallbacks((void*)GetCallbackPtr(), &g_cecCallbacks);
 
                        return false;
                }
@@ -230,7 +234,7 @@ namespace CecSharp
                        cec_keypress key;
                        if (m_libCec->GetNextKeypress(&key))
                        {
-                               return gcnew CecKeypress(key.keycode, key.duration);
+                               return gcnew CecKeypress((CecUserControlCode)key.keycode, key.duration);
                        }
 
                        return gcnew CecKeypress();
@@ -594,6 +598,12 @@ namespace CecSharp
                        return gcnew String(retVal);
                }
 
+               String ^ GetLibInfo()
+               {
+                       const char *retVal = m_libCec->GetLibInfo();
+                       return gcnew String(retVal);
+               }
+
        private:
                ICECAdapter *        m_libCec;
     CecCallbackMethods ^ m_callbacks;