// Local input handling void vncServer::DisableLocalInputs(BOOL disable) { if ( m_disable_local_inputs != disable ) { m_disable_local_inputs = disable; if ( AuthClientCount() != 0 ) m_desktop->SetLocalInputDisableHook(disable); } }
void vncServer::LocalInputPriority(BOOL disable) { if( m_local_input_priority != disable ) { m_local_input_priority = disable; m_remote_mouse = 0; m_remote_keyboard = 0; if ( AuthClientCount() != 0 ) m_desktop->SetLocalInputPriorityHook(disable); } }
// // Load if necessary and initialize the current DSMPlugin // This can only be done if NO client is connected (for the moment) // BOOL vncServer::SetDSMPlugin(void) { if (AuthClientCount() > 0) return FALSE; if (!IsDSMPluginEnabled()) return FALSE; // If the plugin is loaded, unload it first // sf@2003 - it has been possibly pre-configured by // clicking on the plugin config button if (m_pDSMPlugin->IsLoaded()) { // sf@2003 - We check if the loaded plugin is the same than // the currently selected one or not m_pDSMPlugin->DescribePlugin(); if (stricmp(m_pDSMPlugin->GetPluginFileName(), GetDSMPluginName())) { m_pDSMPlugin->SetEnabled(false); m_pDSMPlugin->UnloadPlugin(); } } if (!m_pDSMPlugin->IsLoaded()) { if (!m_pDSMPlugin->LoadPlugin(GetDSMPluginName(), false)) { vnclog.Print(LL_INTINFO, VNCLOG("DSMPlugin cannot be loaded\n")); return FALSE; } } // Now that it is loaded, init it if (m_pDSMPlugin->InitPlugin()) { char szParams[8 + 64]; strcpy(szParams, "NoPassword"); // The second parameter tells the plugin the kind of program is using it // (in WinVNC : "server-app" or "server-svc" strcat(szParams, ","); strcat(szParams, vncService::RunningAsService() ? "server-svc" : "server-app"); if (m_pDSMPlugin->SetPluginParams(NULL, szParams/*vncDecryptPasswd((char *)password)*/)) { m_pDSMPlugin->SetEnabled(true); // The plugin is ready to be used vnclog.Print(LL_INTINFO, VNCLOG("DSMPlugin Params OK\n")); return TRUE; } else { m_pDSMPlugin->SetEnabled(false); vnclog.Print(LL_INTINFO, VNCLOG("Unable to set DSMPlugin Params\n")); } } else { m_pDSMPlugin->SetEnabled(false); vnclog.Print(LL_INTINFO, VNCLOG("Unable to init DSMPlugin\n")); } /* MessageBox(NULL, _T(_this->m_pDSMPlugin->DescribePlugin()), _T("Plugin Description"), MB_OK | MB_ICONEXCLAMATION ); */ return TRUE; }