├── .github └── workflows │ └── msbuild.yml ├── .gitignore ├── LICENSE ├── Readme.md ├── client-config-lib ├── ConnectionConfig.cpp ├── ConnectionConfig.h ├── ConnectionConfigSM.cpp ├── ConnectionConfigSM.h ├── ViewerConfig.cpp ├── ViewerConfig.h ├── ViewerSettingsManager.cpp ├── ViewerSettingsManager.h ├── client-config-lib.vcproj ├── client-config-lib.vcxproj └── client-config-lib.vcxproj.filters ├── config-lib ├── ConnectionHistory.cpp ├── ConnectionHistory.h ├── IniFileSettingsManager.cpp ├── IniFileSettingsManager.h ├── RegistrySettingsManager.cpp ├── RegistrySettingsManager.h ├── SettingsManager.cpp ├── SettingsManager.h ├── config-lib.vcproj ├── config-lib.vcxproj └── config-lib.vcxproj.filters ├── desktop-ipc ├── BlockingGate.cpp ├── BlockingGate.h ├── BlockingInputGate.cpp ├── BlockingInputGate.h ├── BlockingOutputGate.cpp ├── BlockingOutputGate.h ├── ClientListener.cpp ├── ClientListener.h ├── ConfigServer.cpp ├── ConfigServer.h ├── DesktopConfigClient.cpp ├── DesktopConfigClient.h ├── DesktopServerProto.cpp ├── DesktopServerProto.h ├── DesktopSrvDispatcher.cpp ├── DesktopSrvDispatcher.h ├── GateKickHandler.cpp ├── GateKickHandler.h ├── GateKicker.cpp ├── GateKicker.h ├── ReconnectException.cpp ├── ReconnectException.h ├── ReconnectingChannel.cpp ├── ReconnectingChannel.h ├── ReconnectionListener.h ├── UpdateHandlerClient.cpp ├── UpdateHandlerClient.h ├── UpdateHandlerServer.cpp ├── UpdateHandlerServer.h ├── UserInputClient.cpp ├── UserInputClient.h ├── UserInputServer.cpp ├── UserInputServer.h ├── desktop-ipc.vcproj ├── desktop-ipc.vcxproj └── desktop-ipc.vcxproj.filters ├── desktop ├── AbnormDeskTermListener.h ├── ApplicationDesktopFactory.cpp ├── ApplicationDesktopFactory.h ├── ClipboardListener.cpp ├── ClipboardListener.h ├── ConsolePoller.cpp ├── ConsolePoller.h ├── CopyRectDetector.cpp ├── CopyRectDetector.h ├── CursorPositionDetector.cpp ├── CursorPositionDetector.h ├── CursorShapeDetector.cpp ├── CursorShapeDetector.h ├── CursorShapeGrabber.cpp ├── CursorShapeGrabber.h ├── Desktop.h ├── DesktopBaseImpl.cpp ├── DesktopBaseImpl.h ├── DesktopClientImpl.cpp ├── DesktopClientImpl.h ├── DesktopConfigLocal.cpp ├── DesktopConfigLocal.h ├── DesktopFactory.h ├── DesktopServerWatcher.cpp ├── DesktopServerWatcher.h ├── DesktopWinImpl.cpp ├── DesktopWinImpl.h ├── DisplayEsc.h ├── DummyScreenDriver.cpp ├── DummyScreenDriver.h ├── GrabOptimizator.cpp ├── GrabOptimizator.h ├── HookInstaller.cpp ├── HookInstaller.h ├── HookUpdateTimer.cpp ├── HookUpdateTimer.h ├── HooksUpdateDetector.cpp ├── HooksUpdateDetector.h ├── InputBlocker.cpp ├── InputBlocker.h ├── MirrorDriverClient.cpp ├── MirrorDriverClient.h ├── MirrorScreenDriver.cpp ├── MirrorScreenDriver.h ├── Poller.cpp ├── Poller.h ├── SasUserInput.cpp ├── SasUserInput.h ├── ScreenDriver.h ├── ScreenDriverFactory.h ├── ScreenGrabber.cpp ├── ScreenGrabber.h ├── UpdateContainer.cpp ├── UpdateContainer.h ├── UpdateDetector.cpp ├── UpdateDetector.h ├── UpdateFilter.cpp ├── UpdateFilter.h ├── UpdateHandler.cpp ├── UpdateHandler.h ├── UpdateHandlerImpl.cpp ├── UpdateHandlerImpl.h ├── UpdateKeeper.cpp ├── UpdateKeeper.h ├── UpdateListener.cpp ├── UpdateListener.h ├── UpdateSendingListener.cpp ├── UpdateSendingListener.h ├── UserInput.cpp ├── UserInput.h ├── WallpaperUtil.cpp ├── WallpaperUtil.h ├── Win32MirrorScreenDriver.cpp ├── Win32MirrorScreenDriver.h ├── Win32ScreenDriver.cpp ├── Win32ScreenDriver.h ├── Win32ScreenDriverBaseImpl.cpp ├── Win32ScreenDriverBaseImpl.h ├── Win32ScreenDriverFactory.cpp ├── Win32ScreenDriverFactory.h ├── Win8CursorShape.cpp ├── Win8CursorShape.h ├── Win8DeskDuplicationThread.cpp ├── Win8DeskDuplicationThread.h ├── Win8DuplicationListener.h ├── Win8ScreenDriver.cpp ├── Win8ScreenDriver.h ├── Win8ScreenDriverImpl.cpp ├── Win8ScreenDriverImpl.h ├── WinAutoMapDxgiSurface.cpp ├── WinAutoMapDxgiSurface.h ├── WinCursorShapeUtils.cpp ├── WinCursorShapeUtils.h ├── WinCustomD3D11Texture2D.cpp ├── WinCustomD3D11Texture2D.h ├── WinD3D11Device.cpp ├── WinD3D11Device.h ├── WinD3D11Texture2D.cpp ├── WinD3D11Texture2D.h ├── WinDxCriticalException.cpp ├── WinDxCriticalException.h ├── WinDxException.cpp ├── WinDxException.h ├── WinDxRecoverableException.cpp ├── WinDxRecoverableException.h ├── WinDxgiAcquiredFrame.cpp ├── WinDxgiAcquiredFrame.h ├── WinDxgiAdapter.cpp ├── WinDxgiAdapter.h ├── WinDxgiDevice.cpp ├── WinDxgiDevice.h ├── WinDxgiOutput.cpp ├── WinDxgiOutput.h ├── WinDxgiOutput1.cpp ├── WinDxgiOutput1.h ├── WinDxgiOutputDuplication.cpp ├── WinDxgiOutputDuplication.h ├── WinDxgiSurface.cpp ├── WinDxgiSurface.h ├── WinServiceDesktopFactory.cpp ├── WinServiceDesktopFactory.h ├── WinVideoRegionUpdaterImpl.cpp ├── WinVideoRegionUpdaterImpl.h ├── WindowsClipboard.cpp ├── WindowsClipboard.h ├── WindowsCursorShapeGrabber.cpp ├── WindowsCursorShapeGrabber.h ├── WindowsInputBlocker.cpp ├── WindowsInputBlocker.h ├── WindowsScreenGrabber.cpp ├── WindowsScreenGrabber.h ├── WindowsUserInput.cpp ├── WindowsUserInput.h ├── desktop.vcproj ├── desktop.vcxproj └── desktop.vcxproj.filters ├── fb-update-sender ├── CursorUpdates.cpp ├── CursorUpdates.h ├── SenderControlInformationInterface.h ├── UpdSenderMsgDefs.cpp ├── UpdSenderMsgDefs.h ├── UpdateRequestListener.h ├── UpdateSender.cpp ├── UpdateSender.h ├── ViewPort.cpp ├── ViewPort.h ├── ViewPortState.cpp ├── ViewPortState.h ├── fb-update-sender.vcproj ├── fb-update-sender.vcxproj └── fb-update-sender.vcxproj.filters ├── file-lib ├── EOFException.cpp ├── EOFException.h ├── File.cpp ├── File.h ├── FileChannel.h ├── FileNotFoundException.cpp ├── FileNotFoundException.h ├── WinFile.cpp ├── WinFile.h ├── WinFileChannel.cpp ├── WinFileChannel.h ├── file-lib.vcproj ├── file-lib.vcxproj └── file-lib.vcxproj.filters ├── ft-client-lib ├── CopyFileEventListener.h ├── CopyOperation.cpp ├── CopyOperation.h ├── DownloadOperation.cpp ├── DownloadOperation.h ├── FileInfoList.cpp ├── FileInfoList.h ├── FileTransferCore.cpp ├── FileTransferCore.h ├── FileTransferEventAdapter.cpp ├── FileTransferEventAdapter.h ├── FileTransferEventHandler.cpp ├── FileTransferEventHandler.h ├── FileTransferInterface.cpp ├── FileTransferInterface.h ├── FileTransferMessageProcessor.cpp ├── FileTransferMessageProcessor.h ├── FileTransferOperation.cpp ├── FileTransferOperation.h ├── FileTransferReplyBuffer.cpp ├── FileTransferReplyBuffer.h ├── FileTransferRequestSender.cpp ├── FileTransferRequestSender.h ├── LocalFilesDeleteOperation.cpp ├── LocalFilesDeleteOperation.h ├── OperationEventListener.cpp ├── OperationEventListener.h ├── OperationNotPermittedException.cpp ├── OperationNotPermittedException.h ├── OperationSupport.cpp ├── OperationSupport.h ├── RemoteFileListOperation.cpp ├── RemoteFileListOperation.h ├── RemoteFileRenameOperation.cpp ├── RemoteFileRenameOperation.h ├── RemoteFilesDeleteOperation.cpp ├── RemoteFilesDeleteOperation.h ├── RemoteFolderCreateOperation.cpp ├── RemoteFolderCreateOperation.h ├── UploadOperation.cpp ├── UploadOperation.h ├── ft-client-lib.vcproj ├── ft-client-lib.vcxproj └── ft-client-lib.vcxproj.filters ├── ft-common ├── FTMessage.cpp ├── FTMessage.h ├── FileInfo.cpp ├── FileInfo.h ├── FileTransferException.cpp ├── FileTransferException.h ├── FolderListener.cpp ├── FolderListener.h ├── OperationNotSupportedException.cpp ├── OperationNotSupportedException.h ├── WinFilePath.cpp ├── WinFilePath.h ├── ft-common.vcproj ├── ft-common.vcxproj └── ft-common.vcxproj.filters ├── ft-server-lib ├── FileTransferRequestHandler.cpp ├── FileTransferRequestHandler.h ├── FileTransferSecurity.cpp ├── FileTransferSecurity.h ├── ft-server-lib.vcproj ├── ft-server-lib.vcxproj └── ft-server-lib.vcxproj.filters ├── gui ├── BalloonTip.cpp ├── BalloonTip.h ├── BaseDialog.cpp ├── BaseDialog.h ├── BaseWindow.cpp ├── BaseWindow.h ├── CheckBox.cpp ├── CheckBox.h ├── ComboBox.cpp ├── ComboBox.h ├── CommonControlsEx.cpp ├── CommonControlsEx.h ├── Control.cpp ├── Control.h ├── DibFrameBuffer.cpp ├── DibFrameBuffer.h ├── FilteredTextBox.cpp ├── FilteredTextBox.h ├── ImagedButton.cpp ├── ImagedButton.h ├── ListBox.cpp ├── ListBox.h ├── ListView.cpp ├── ListView.h ├── Menu.cpp ├── Menu.h ├── MessageWindow.cpp ├── MessageWindow.h ├── NotifyIcon.cpp ├── NotifyIcon.h ├── NotifyIconWindow.cpp ├── NotifyIconWindow.h ├── PaintWindow.cpp ├── PaintWindow.h ├── ProgressBar.cpp ├── ProgressBar.h ├── ScrollBar.cpp ├── ScrollBar.h ├── SpinControl.cpp ├── SpinControl.h ├── StringFilter.cpp ├── StringFilter.h ├── Tab.cpp ├── Tab.h ├── TabContainer.cpp ├── TabContainer.h ├── TabControl.cpp ├── TabControl.h ├── TextBox.cpp ├── TextBox.h ├── ThemeLib.cpp ├── ThemeLib.h ├── ToolBar.cpp ├── ToolBar.h ├── Tooltip.cpp ├── Tooltip.h ├── Trackbar.cpp ├── Trackbar.h ├── WindowFinder.cpp ├── WindowFinder.h ├── WindowMessageHandler.h ├── WindowProcHolder.cpp ├── WindowProcHolder.h ├── drawing │ ├── Bitmap.cpp │ ├── Bitmap.h │ ├── BitmapGraphics.cpp │ ├── BitmapGraphics.h │ ├── Brush.cpp │ ├── Brush.h │ ├── DeviceContext.cpp │ ├── DeviceContext.h │ ├── Graphics.cpp │ ├── Graphics.h │ ├── Icon.cpp │ ├── Icon.h │ ├── Pen.cpp │ ├── Pen.h │ ├── SolidBrush.cpp │ └── SolidBrush.h ├── gui.vcproj ├── gui.vcxproj └── gui.vcxproj.filters ├── hookldr ├── HookLoaderApplication.cpp ├── HookLoaderApplication.h ├── ParentEventsListener.h ├── ParentWatcher.cpp ├── ParentWatcher.h ├── hookldr.cpp ├── hookldr.rc ├── hookldr.vcproj ├── hookldr.vcxproj ├── hookldr.vcxproj.filters └── resource.h ├── http-server-lib ├── AppletParameter.cpp ├── AppletParameter.h ├── ArgList.cpp ├── ArgList.h ├── HttpClient.cpp ├── HttpClient.h ├── HttpReply.cpp ├── HttpReply.h ├── HttpRequest.cpp ├── HttpRequest.h ├── HttpRequestHandler.cpp ├── HttpRequestHandler.h ├── HttpServer.cpp ├── HttpServer.h ├── VncViewerJarBody.h ├── http-server-lib.vcproj ├── http-server-lib.vcxproj └── http-server-lib.vcxproj.filters ├── io-lib ├── BufferedInputStream.cpp ├── BufferedInputStream.h ├── BufferedOutputStream.cpp ├── BufferedOutputStream.h ├── ByteArrayInputStream.cpp ├── ByteArrayInputStream.h ├── ByteArrayOutputStream.cpp ├── ByteArrayOutputStream.h ├── Channel.cpp ├── Channel.h ├── DataInputStream.cpp ├── DataInputStream.h ├── DataOutputStream.cpp ├── DataOutputStream.h ├── IOException.cpp ├── IOException.h ├── InputStream.cpp ├── InputStream.h ├── OutputStream.cpp ├── OutputStream.h ├── io-lib.vcproj ├── io-lib.vcxproj └── io-lib.vcxproj.filters ├── libjpeg ├── README ├── change.log ├── jaricom.c ├── jcapimin.c ├── jcapistd.c ├── jcarith.c ├── jccoefct.c ├── jccolor.c ├── jcdctmgr.c ├── jchuff.c ├── jcinit.c ├── jcmainct.c ├── jcmarker.c ├── jcmaster.c ├── jcomapi.c ├── jconfig.h ├── jcparam.c ├── jcprepct.c ├── jcsample.c ├── jctrans.c ├── jdapimin.c ├── jdapistd.c ├── jdarith.c ├── jdatadst.c ├── jdatasrc.c ├── jdcoefct.c ├── jdcolor.c ├── jdct.h ├── jddctmgr.c ├── jdhuff.c ├── jdinput.c ├── jdmainct.c ├── jdmarker.c ├── jdmaster.c ├── jdmerge.c ├── jdpostct.c ├── jdsample.c ├── jdtrans.c ├── jerror.c ├── jerror.h ├── jfdctflt.c ├── jfdctfst.c ├── jfdctint.c ├── jidctflt.c ├── jidctfst.c ├── jidctint.c ├── jinclude.h ├── jmemmgr.c ├── jmemnobs.c ├── jmemsys.h ├── jmorecfg.h ├── jpegint.h ├── jpeglib.h ├── jquant1.c ├── jquant2.c ├── jutils.c ├── jversion.h ├── libjpeg.txt ├── libjpeg.vcproj ├── libjpeg.vcxproj ├── libjpeg.vcxproj.filters └── structure.txt ├── log-server ├── ClientLogger.cpp ├── ClientLogger.h ├── ConnectionListener.cpp ├── ConnectionListener.h ├── ConnectionTimer.cpp ├── ConnectionTimer.h ├── FileLogDefs.h ├── ListenLogServer.cpp ├── ListenLogServer.h ├── LogConn.cpp ├── LogConn.h ├── LogConnAuthListener.h ├── LogLevelSender.cpp ├── LogLevelSender.h ├── LogListener.h ├── LogServer.cpp ├── LogServer.h ├── SecurityPipeClient.cpp ├── SecurityPipeClient.h ├── SecurityPipeServer.cpp ├── SecurityPipeServer.h ├── TimerListener.h ├── log-server.vcproj ├── log-server.vcxproj └── log-server.vcxproj.filters ├── log-writer ├── FileAccount.cpp ├── FileAccount.h ├── FileLogger.cpp ├── FileLogger.h ├── LogDump.cpp ├── LogDump.h ├── LogWriter.cpp ├── LogWriter.h ├── Logger.h ├── ProfileLogger.cpp ├── ProfileLogger.h ├── log-writer.vcproj ├── log-writer.vcxproj └── log-writer.vcxproj.filters ├── network ├── RfbInputGate.cpp ├── RfbInputGate.h ├── RfbOutputGate.cpp ├── RfbOutputGate.h ├── TcpClientThread.cpp ├── TcpClientThread.h ├── TcpServer.cpp ├── TcpServer.h ├── network.vcproj ├── network.vcxproj ├── network.vcxproj.filters └── socket │ ├── SocketAddressIPv4.cpp │ ├── SocketAddressIPv4.h │ ├── SocketException.cpp │ ├── SocketException.h │ ├── SocketIPv4.cpp │ ├── SocketIPv4.h │ ├── SocketStream.cpp │ ├── SocketStream.h │ ├── WindowsSocket.cpp │ ├── WindowsSocket.h │ └── sockdefs.h ├── region ├── Dimension.h ├── Point.h ├── Rect.h ├── RectSerializer.cpp ├── RectSerializer.h ├── Region.cpp ├── Region.h ├── region.vcproj ├── region.vcxproj ├── region.vcxproj.filters ├── x11region.c └── x11region.h ├── rfb-sconn ├── AuthException.h ├── CapContainer.cpp ├── CapContainer.h ├── ClientAuthListener.h ├── ClientInputEventListener.h ├── ClientInputHandler.cpp ├── ClientInputHandler.h ├── ClientTerminationListener.h ├── ClipboardExchange.cpp ├── ClipboardExchange.h ├── EchoExtensionRequestHandler.cpp ├── EchoExtensionRequestHandler.h ├── EncodeOptions.cpp ├── EncodeOptions.h ├── Encoder.cpp ├── Encoder.h ├── EncoderStore.cpp ├── EncoderStore.h ├── HextileEncoder.cpp ├── HextileEncoder.h ├── HextileTile.h ├── JpegCompressor.cpp ├── JpegCompressor.h ├── JpegEncoder.cpp ├── JpegEncoder.h ├── RfbClient.cpp ├── RfbClient.h ├── RfbCodeRegistrator.cpp ├── RfbCodeRegistrator.h ├── RfbDispatcher.cpp ├── RfbDispatcher.h ├── RfbDispatcherListener.h ├── RfbInitializer.cpp ├── RfbInitializer.h ├── RreEncoder.cpp ├── RreEncoder.h ├── TightEncoder.cpp ├── TightEncoder.h ├── TightPalette.cpp ├── TightPalette.h ├── ZrleEncoder.cpp ├── ZrleEncoder.h ├── rfb-sconn.vcproj ├── rfb-sconn.vcxproj └── rfb-sconn.vcxproj.filters ├── rfb ├── AuthDefs.cpp ├── AuthDefs.h ├── CursorShape.cpp ├── CursorShape.h ├── EncodingDefs.cpp ├── EncodingDefs.h ├── FrameBuffer.cpp ├── FrameBuffer.h ├── HostPath.cpp ├── HostPath.h ├── MsgDefs.cpp ├── MsgDefs.h ├── PixelConverter.cpp ├── PixelConverter.h ├── PixelFormat.cpp ├── PixelFormat.h ├── RfbKeySym.cpp ├── RfbKeySym.h ├── RfbKeySymListener.h ├── StandardPixelFormatFactory.cpp ├── StandardPixelFormatFactory.h ├── TunnelDefs.cpp ├── TunnelDefs.h ├── VendorDefs.cpp ├── VendorDefs.h ├── keysymdef.h ├── rfb.vcproj ├── rfb.vcxproj └── rfb.vcxproj.filters ├── screen-hooks ├── ScreenHooks.cpp ├── ScreenHooks.h ├── resource.h ├── screenhooks.rc ├── screenhooks.vcproj ├── screenhooks.vcxproj └── screenhooks.vcxproj.filters ├── server-config-lib ├── ConfigReloadListener.cpp ├── ConfigReloadListener.h ├── Configurator.cpp ├── Configurator.h ├── IpAccessControl.cpp ├── IpAccessControl.h ├── IpAccessRule.cpp ├── IpAccessRule.h ├── PortMapping.cpp ├── PortMapping.h ├── PortMappingContainer.cpp ├── PortMappingContainer.h ├── PortMappingRect.cpp ├── PortMappingRect.h ├── RegistrySecurityAttributes.cpp ├── RegistrySecurityAttributes.h ├── ServerConfig.cpp ├── ServerConfig.h ├── server-config-lib.vcproj ├── server-config-lib.vcxproj └── server-config-lib.vcxproj.filters ├── setup-helper ├── CustomAction.cpp ├── CustomAction.def ├── MsiProperties.cpp ├── MsiProperties.h ├── resource.h ├── setup-helper.rc ├── setup-helper.vcproj ├── setup-helper.vcxproj └── setup-helper.vcxproj.filters ├── thread ├── AutoLock.cpp ├── AutoLock.h ├── DesktopSelector.cpp ├── DesktopSelector.h ├── GlobalMutex.cpp ├── GlobalMutex.h ├── GuiThread.cpp ├── GuiThread.h ├── LocalMutex.cpp ├── LocalMutex.h ├── Lockable.h ├── Thread.cpp ├── Thread.h ├── ThreadCollector.cpp ├── ThreadCollector.h ├── ZombieKiller.cpp ├── ZombieKiller.h ├── thread.vcproj ├── thread.vcxproj └── thread.vcxproj.filters ├── tightvnc.sln ├── tightvnc2015.sln ├── tightvnc2019.sln ├── tvncontrol-app ├── AboutDialog.cpp ├── AboutDialog.h ├── ConnectCommand.cpp ├── ConnectCommand.h ├── ConnectStringParser.cpp ├── ConnectStringParser.h ├── ControlApplication.cpp ├── ControlApplication.h ├── ControlAuth.cpp ├── ControlAuth.h ├── ControlAuthDialog.cpp ├── ControlAuthDialog.h ├── ControlAuthException.cpp ├── ControlAuthException.h ├── ControlCommand.cpp ├── ControlCommand.h ├── ControlCommandLine.cpp ├── ControlCommandLine.h ├── ControlGate.cpp ├── ControlGate.h ├── ControlMessage.cpp ├── ControlMessage.h ├── ControlPipeName.cpp ├── ControlPipeName.h ├── ControlProto.h ├── ControlProxy.cpp ├── ControlProxy.h ├── ControlTrayIcon.cpp ├── ControlTrayIcon.h ├── DisconnectAllCommand.cpp ├── DisconnectAllCommand.h ├── MakeRfbConnectionCommand.cpp ├── MakeRfbConnectionCommand.h ├── NamedPipeTransport.cpp ├── NamedPipeTransport.h ├── Notificator.cpp ├── Notificator.h ├── OutgoingConnectionDialog.cpp ├── OutgoingConnectionDialog.h ├── ReloadConfigCommand.cpp ├── ReloadConfigCommand.h ├── RemoteException.cpp ├── RemoteException.h ├── RfbClientInfo.cpp ├── RfbClientInfo.h ├── SetPasswordsDialog.cpp ├── SetPasswordsDialog.h ├── ShareAppCommand.cpp ├── ShareAppCommand.h ├── ShareDisplayCommand.cpp ├── ShareDisplayCommand.h ├── ShareFullCommand.cpp ├── ShareFullCommand.h ├── SharePrimaryCommand.cpp ├── SharePrimaryCommand.h ├── ShareRectCommand.cpp ├── ShareRectCommand.h ├── ShareWindowCommand.cpp ├── ShareWindowCommand.h ├── ShutdownCommand.cpp ├── ShutdownCommand.h ├── SocketIPv4Transport.cpp ├── SocketIPv4Transport.h ├── Transport.cpp ├── Transport.h ├── TransportFactory.cpp ├── TransportFactory.h ├── TvnServerInfo.h ├── UpdateLocalConfigCommand.cpp ├── UpdateLocalConfigCommand.h ├── UpdateRemoteConfigCommand.cpp ├── UpdateRemoteConfigCommand.h ├── tvncontrol-app.vcproj ├── tvncontrol-app.vcxproj └── tvncontrol-app.vcxproj.filters ├── tvnserver-app ├── AdditionalActionApplication.cpp ├── AdditionalActionApplication.h ├── AuthTracker.cpp ├── AuthTracker.h ├── ControlAppAuthenticator.cpp ├── ControlAppAuthenticator.h ├── ControlClient.cpp ├── ControlClient.h ├── ControlServer.cpp ├── ControlServer.h ├── CrashHook.cpp ├── CrashHook.h ├── DesktopServerApplication.cpp ├── DesktopServerApplication.h ├── DesktopServerCommandLine.cpp ├── DesktopServerCommandLine.h ├── ExtraRfbServers.cpp ├── ExtraRfbServers.h ├── LogInitListener.h ├── NamingDefs.cpp ├── NamingDefs.h ├── NewConnectionEvents.h ├── OutgoingRfbConnectionThread.cpp ├── OutgoingRfbConnectionThread.h ├── QueryConnectionApplication.cpp ├── QueryConnectionApplication.h ├── QueryConnectionCommandLine.cpp ├── QueryConnectionCommandLine.h ├── QueryConnectionDialog.cpp ├── QueryConnectionDialog.h ├── RfbClientManager.cpp ├── RfbClientManager.h ├── RfbClientManagerEventListener.cpp ├── RfbClientManagerEventListener.h ├── RfbServer.cpp ├── RfbServer.h ├── ServerCommandLine.cpp ├── ServerCommandLine.h ├── ServiceControlApplication.cpp ├── ServiceControlApplication.h ├── ServiceControlCommandLine.cpp ├── ServiceControlCommandLine.h ├── SessionChangesWatcher.cpp ├── SessionChangesWatcher.h ├── TvnServer.cpp ├── TvnServer.h ├── TvnServerApplication.cpp ├── TvnServerApplication.h ├── TvnServerHelp.cpp ├── TvnServerHelp.h ├── TvnServerListener.cpp ├── TvnServerListener.h ├── TvnService.cpp ├── TvnService.h ├── WinEventLogWriter.cpp ├── WinEventLogWriter.h ├── WinServiceEvents.h ├── WsConfigRunner.cpp ├── WsConfigRunner.h ├── tvnserver-app.vcproj ├── tvnserver-app.vcxproj └── tvnserver-app.vcxproj.filters ├── tvnserver ├── BuildTime.cpp ├── BuildTime.h ├── ComonControls.manifest ├── DPIAware.manifest ├── res │ ├── connected.ico │ ├── disabled.ico │ ├── idle.ico │ └── tightvnc.bmp ├── resource.h ├── tvnserver.cpp ├── tvnserver.rc ├── tvnserver.vcproj ├── tvnserver.vcxproj └── tvnserver.vcxproj.filters ├── tvnviewer ├── AboutDialog.cpp ├── AboutDialog.h ├── AuthenticationDialog.cpp ├── AuthenticationDialog.h ├── BuildTime.cpp ├── BuildTime.h ├── ConfigurationDialog.cpp ├── ConfigurationDialog.h ├── ConnectionData.cpp ├── ConnectionData.h ├── ConnectionListener.cpp ├── ConnectionListener.h ├── ControlTrayIcon.cpp ├── ControlTrayIcon.h ├── DesktopWindow.cpp ├── DesktopWindow.h ├── FileExistDialog.cpp ├── FileExistDialog.h ├── FileInfoListView.cpp ├── FileInfoListView.h ├── FileRenameDialog.cpp ├── FileRenameDialog.h ├── FileTransferMainDialog.cpp ├── FileTransferMainDialog.h ├── FsWarningDialog.cpp ├── FsWarningDialog.h ├── HelpDialog.cpp ├── HelpDialog.h ├── LoginDialog.cpp ├── LoginDialog.h ├── NamingDefs.cpp ├── NamingDefs.h ├── NewFolderDialog.cpp ├── NewFolderDialog.h ├── OptionsDialog.cpp ├── OptionsDialog.h ├── ResourceStrings.cpp ├── ResourceStrings.h ├── ScaleManager.cpp ├── ScaleManager.h ├── TvnViewer.cpp ├── TvnViewer.h ├── ViewerCmdLine.cpp ├── ViewerCmdLine.h ├── ViewerCollector.cpp ├── ViewerCollector.h ├── ViewerInstance.cpp ├── ViewerInstance.h ├── ViewerMenu.cpp ├── ViewerMenu.h ├── ViewerVncAuthHandler.cpp ├── ViewerVncAuthHandler.h ├── ViewerWindow.cpp ├── ViewerWindow.h ├── cmdline-help.docx ├── main.cpp ├── res │ ├── appicon.ico │ ├── dot.cur │ ├── fileup.ico │ ├── ftdir.ico │ ├── ftfile.ico │ ├── nocursor.cur │ ├── smalldot.cur │ ├── tightvnc.bmp │ ├── tightvnc48.bmp │ └── toolbar.bmp ├── resource.h ├── resource_chs.h ├── tvnviewer.rc ├── tvnviewer.vcproj ├── tvnviewer.vcxproj ├── tvnviewer.vcxproj.filters └── tvnviewer_chs.rc ├── util ├── AnEventListener.h ├── AnsiStringStorage.cpp ├── AnsiStringStorage.h ├── BrokenHandleException.cpp ├── BrokenHandleException.h ├── CharDefs.h ├── Command.cpp ├── Command.h ├── CommandLine.cpp ├── CommandLine.h ├── CommandLineArgs.cpp ├── CommandLineArgs.h ├── CommandLineFormatException.cpp ├── CommandLineFormatException.h ├── CommandLineFormatHelp.cpp ├── CommandLineFormatHelp.h ├── CommonHeader.h ├── DateTime.cpp ├── DateTime.h ├── Deflater.cpp ├── Deflater.h ├── DemandTimer.cpp ├── DemandTimer.h ├── DesCrypt.cpp ├── DesCrypt.h ├── Exception.cpp ├── Exception.h ├── GetCPUtime.cpp ├── GetCPUtime.h ├── Inflater.cpp ├── Inflater.h ├── KeyContainer.cpp ├── KeyContainer.h ├── Keymap.cpp ├── Keymap.h ├── ListenerContainer.h ├── MacroCommand.cpp ├── MacroCommand.h ├── MemUsage.cpp ├── MemUsage.h ├── ResourceLoader.cpp ├── ResourceLoader.h ├── Singleton.h ├── StringParser.cpp ├── StringParser.h ├── StringStorage.cpp ├── StringStorage.h ├── StringTable.cpp ├── StringTable.h ├── StringVector.h ├── Unicode.cpp ├── Unicode.h ├── UnicodeStringStorage.cpp ├── UnicodeStringStorage.h ├── Utf8StringStorage.cpp ├── Utf8StringStorage.h ├── VncPassCrypt.cpp ├── VncPassCrypt.h ├── ZLibBase.cpp ├── ZLibBase.h ├── ZlibException.cpp ├── ZlibException.h ├── inttypes.h ├── md5.cpp ├── md5.h ├── util.vcproj ├── util.vcxproj ├── util.vcxproj.filters └── winhdr.h ├── viewer-core ├── AuthHandler.cpp ├── AuthHandler.h ├── CapabilitiesManager.cpp ├── CapabilitiesManager.h ├── CapsContainer.cpp ├── CapsContainer.h ├── CompressionLevel.cpp ├── CompressionLevel.h ├── CopyRectDecoder.cpp ├── CopyRectDecoder.h ├── CoreEventsAdapter.cpp ├── CoreEventsAdapter.h ├── CursorPainter.cpp ├── CursorPainter.h ├── Decoder.cpp ├── Decoder.h ├── DecoderOfRectangle.cpp ├── DecoderOfRectangle.h ├── DecoderStore.cpp ├── DecoderStore.h ├── DesktopSizeDecoder.cpp ├── DesktopSizeDecoder.h ├── DispatchDataProvider.h ├── FbUpdateNotifier.cpp ├── FbUpdateNotifier.h ├── FileTransferCapability.cpp ├── FileTransferCapability.h ├── HexTileDecoder.cpp ├── HexTileDecoder.h ├── JpegDecompressor.cpp ├── JpegDecompressor.h ├── JpegQualityLevel.cpp ├── JpegQualityLevel.h ├── LastRectDecoder.cpp ├── LastRectDecoder.h ├── PointerPosDecoder.cpp ├── PointerPosDecoder.h ├── PseudoDecoder.cpp ├── PseudoDecoder.h ├── RawDecoder.cpp ├── RawDecoder.h ├── RemoteViewerCore.cpp ├── RemoteViewerCore.h ├── RfbClientToServerMessage.cpp ├── RfbClientToServerMessage.h ├── RfbCutTextEventClientMessage.cpp ├── RfbCutTextEventClientMessage.h ├── RfbFramebufferUpdateRequestClientMessage.cpp ├── RfbFramebufferUpdateRequestClientMessage.h ├── RfbKeyEventClientMessage.cpp ├── RfbKeyEventClientMessage.h ├── RfbPointerEventClientMessage.cpp ├── RfbPointerEventClientMessage.h ├── RfbSetEncodingsClientMessage.cpp ├── RfbSetEncodingsClientMessage.h ├── RfbSetPixelFormatClientMessage.cpp ├── RfbSetPixelFormatClientMessage.h ├── RichCursorDecoder.cpp ├── RichCursorDecoder.h ├── RreDecoder.cpp ├── RreDecoder.h ├── ServerMessageListener.h ├── TcpConnection.cpp ├── TcpConnection.h ├── TightDecoder.cpp ├── TightDecoder.h ├── UpdateRequestSender.cpp ├── UpdateRequestSender.h ├── VncAuthentication.cpp ├── VncAuthentication.h ├── VncAuthenticationHandler.cpp ├── VncAuthenticationHandler.h ├── WatermarksController.cpp ├── WatermarksController.h ├── ZrleDecoder.cpp ├── ZrleDecoder.h ├── viewer-core.vcproj ├── viewer-core.vcxproj ├── viewer-core.vcxproj.filters └── watermark-bmp.h ├── viewer-keysym-test ├── KeySymTest.cpp ├── KeySymTest.h ├── viewer-keysym-test.cpp ├── viewer-keysym-test.vcproj ├── viewer-keysym-test.vcxproj └── viewer-keysym-test.vcxproj.filters ├── win-event-log ├── MSG00409.bin ├── MessageCompiler.props ├── MessageCompiler.rules ├── MessageCompiler.targets ├── MessageCompiler.xml ├── MessageProvider.h ├── MessageProvider.mc ├── MessageProvider.rc ├── WinEventLog.cpp ├── WinEventLog.h ├── win-event-log.vcproj ├── win-event-log.vcxproj └── win-event-log.vcxproj.filters ├── win-system ├── AnonymousPipe.cpp ├── AnonymousPipe.h ├── AnonymousPipeFactory.cpp ├── AnonymousPipeFactory.h ├── ApplicationCrashEvents.h ├── AutoImpersonator.cpp ├── AutoImpersonator.h ├── CtrlAltDelSimulator.cpp ├── CtrlAltDelSimulator.h ├── CurrentConsoleProcess.cpp ├── CurrentConsoleProcess.h ├── DibSection.cpp ├── DibSection.h ├── DynamicLibrary.cpp ├── DynamicLibrary.h ├── EmulatedAnonymousPipeFactory.cpp ├── EmulatedAnonymousPipeFactory.h ├── Environment.cpp ├── Environment.h ├── HookEventListener.h ├── Impersonator.cpp ├── Impersonator.h ├── InputInjector.cpp ├── InputInjector.h ├── Keyboard.cpp ├── Keyboard.h ├── LocalWindowsApplication.cpp ├── LocalWindowsApplication.h ├── NamedPipe.cpp ├── NamedPipe.h ├── ParentProcess.cpp ├── ParentProcess.h ├── Pipe.cpp ├── Pipe.h ├── PipeClient.cpp ├── PipeClient.h ├── PipeImpersonatedThread.cpp ├── PipeImpersonatedThread.h ├── PipeServer.cpp ├── PipeServer.h ├── Process.cpp ├── Process.h ├── ProcessHandle.cpp ├── ProcessHandle.h ├── Registry.cpp ├── Registry.h ├── RegistryKey.cpp ├── RegistryKey.h ├── SCMClient.cpp ├── SCMClient.h ├── Screen.cpp ├── Screen.h ├── SecurityAttributes.cpp ├── SecurityAttributes.h ├── Service.cpp ├── Service.h ├── SharedMemory.cpp ├── SharedMemory.h ├── Shell.cpp ├── Shell.h ├── SystemException.cpp ├── SystemException.h ├── SystemInformation.cpp ├── SystemInformation.h ├── UipiControl.cpp ├── UipiControl.h ├── VersionInfo.cpp ├── VersionInfo.h ├── WTS.cpp ├── WTS.h ├── WinClipboard.cpp ├── WinClipboard.h ├── WinCommandLineArgs.cpp ├── WinCommandLineArgs.h ├── WinCursor.cpp ├── WinCursor.h ├── WinHandles.cpp ├── WinHandles.h ├── WinHooks.cpp ├── WinHooks.h ├── WinProcessCommandLine.cpp ├── WinProcessCommandLine.h ├── WinStaLibrary.cpp ├── WinStaLibrary.h ├── WinTimeMillis.cpp ├── WinTimeMillis.h ├── WindowsApplication.cpp ├── WindowsApplication.h ├── WindowsDisplays.cpp ├── WindowsDisplays.h ├── WindowsEvent.cpp ├── WindowsEvent.h ├── WindowsEventEx.cpp ├── WindowsEventEx.h ├── Workstation.cpp ├── Workstation.h ├── WsaStartup.cpp ├── WsaStartup.h ├── security │ ├── SecurityDescriptor.cpp │ ├── SecurityDescriptor.h │ ├── SecurityIdentifier.cpp │ └── SecurityIdentifier.h ├── win-system.vcproj ├── win-system.vcxproj └── win-system.vcxproj.filters ├── wix-installer ├── LICENSE.rtf ├── LICENSE.txt ├── Properties.wxs ├── TightVNC Web Site.url ├── TightVNC-installer.odt ├── buildsources.bat ├── components.wxs ├── custom_actions.wxs ├── features.wxs ├── files32 │ └── sas.dll ├── files64 │ └── sas.dll ├── gui.wxs ├── gui_pages.wxs ├── make-msi.bat ├── product_definitions.wxi ├── setup.wxs ├── tvnserver.ico ├── vncviewer.ico └── wix-installer.wixproj ├── wsconfig-lib ├── AdministrationConfigDialog.cpp ├── AdministrationConfigDialog.h ├── ChangePasswordDialog.cpp ├── ChangePasswordDialog.h ├── CommonInputValidation.cpp ├── CommonInputValidation.h ├── ConfigDialog.cpp ├── ConfigDialog.h ├── EditIpAccessRuleDialog.cpp ├── EditIpAccessRuleDialog.h ├── EditPortMappingDialog.cpp ├── EditPortMappingDialog.h ├── IpAccessControlDialog.cpp ├── IpAccessControlDialog.h ├── PasswordControl.cpp ├── PasswordControl.h ├── PortMappingDialog.cpp ├── PortMappingDialog.h ├── ServerConfigDialog.cpp ├── ServerConfigDialog.h ├── TvnLogFilename.cpp ├── TvnLogFilename.h ├── UIDataAccess.cpp ├── UIDataAccess.h ├── VideoRegionsConfigDialog.cpp ├── VideoRegionsConfigDialog.h ├── wsconfig-lib.vcproj ├── wsconfig-lib.vcxproj └── wsconfig-lib.vcxproj.filters └── zlib ├── ChangeLog ├── FAQ ├── INDEX ├── LICENSE ├── README ├── adler32.c ├── compress.c ├── crc32.c ├── crc32.h ├── deflate.c ├── deflate.h ├── gzguts.h ├── gzlib.c ├── infback.c ├── inffast.c ├── inffast.h ├── inffixed.h ├── inflate.c ├── inflate.h ├── inftrees.c ├── inftrees.h ├── trees.c ├── trees.h ├── uncompr.c ├── zconf.h ├── zlib.h ├── zlib.vcproj ├── zlib.vcxproj ├── zlib.vcxproj.filters ├── zutil.c └── zutil.h /.github/workflows/msbuild.yml: -------------------------------------------------------------------------------- 1 | # This workflow uses actions that are not certified by GitHub. 2 | # They are provided by a third-party and are governed by 3 | # separate terms of service, privacy policy, and support 4 | # documentation. 5 | 6 | name: MSBuild 7 | 8 | on: 9 | push: 10 | branches: [ "test" ] 11 | pull_request: 12 | branches: [ "test" ] 13 | 14 | env: 15 | # Path to the solution file relative to the root of the project. 16 | SOLUTION_FILE_PATH: . 17 | 18 | # Configuration type to build. 19 | # You can convert this to a build matrix if you need coverage of multiple configuration types. 20 | # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix 21 | BUILD_CONFIGURATION: Release 22 | 23 | permissions: 24 | contents: read 25 | 26 | jobs: 27 | build: 28 | runs-on: windows-latest 29 | 30 | steps: 31 | - uses: actions/checkout@v3 32 | 33 | - name: Add MSBuild to PATH 34 | uses: microsoft/setup-msbuild@v1.0.2 35 | 36 | - name: Restore NuGet packages 37 | working-directory: ${{env.GITHUB_WORKSPACE}} 38 | run: nuget restore ${{env.SOLUTION_FILE_PATH}} 39 | 40 | - name: Build 41 | working-directory: ${{env.GITHUB_WORKSPACE}} 42 | # Add additional options to the MSBuild command line here (like platform or verbosity level). 43 | # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference 44 | run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} tightvnc2019.sln 45 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # TightVNC 修改自[TightVNC](https://www.tightvnc.com/)官方源码 2 | 主要修改内容: 3 | * SERVER 配置支持 `INI` 在同目录新建一个 tvnserver.ini 系统自动使用 `ini` 配置,否则使用原来的注册表方式 . 4 | * SERVER 端默认访问密码: chenall 5 | 6 | 关于汉化: Viewer 汉化了一小部份(添加简体中文语言),懒得汉化了,有兴趣的可以协助处理下。 7 | 8 | # What is TightVNC? 9 | TightVNC is a free remote control software package. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer. TightVNC is: 10 | 11 | * free for both personal and commercial usage, with full source code available, 12 | * useful in administration, tech support, education, and for many other purposes, 13 | * cross-platform, available for Windows and Unix, with Java client included, 14 | * compatible with standard VNC software, conforming to RFB protocol specifications. 15 | 16 | ## With TightVNC, you can: 17 | 18 | * cut your expenses and save your time on traveling, 19 | * help your friends and family to solve problems with their computers remotely, 20 | * make sure nothing wrong is happening on your computers when you are away. 21 | 22 | -------------------------------------------------------------------------------- /config-lib/SettingsManager.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "SettingsManager.h" 26 | #include 27 | 28 | SettingsManager::SettingsManager() 29 | { 30 | } 31 | 32 | SettingsManager::~SettingsManager() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /desktop-ipc/BlockingGate.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "BlockingGate.h" 26 | 27 | BlockingGate::BlockingGate(Channel *stream) 28 | : DataInputStream(stream), 29 | DataOutputStream(stream) 30 | { 31 | } 32 | 33 | BlockingGate::~BlockingGate() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /desktop-ipc/BlockingInputGate.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "BlockingInputGate.h" 26 | 27 | BlockingInputGate::BlockingInputGate(InputStream *inputStream) 28 | : DataInputStream(inputStream) 29 | { 30 | } 31 | 32 | BlockingInputGate::~BlockingInputGate() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /desktop-ipc/BlockingOutputGate.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "BlockingOutputGate.h" 26 | 27 | BlockingOutputGate::BlockingOutputGate(OutputStream *outputStream) 28 | : DataOutputStream(outputStream) 29 | { 30 | } 31 | 32 | BlockingOutputGate::~BlockingOutputGate() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /desktop-ipc/ClientListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ClientListener.h" 26 | 27 | ClientListener::ClientListener() 28 | { 29 | } 30 | 31 | ClientListener::~ClientListener() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /desktop-ipc/GateKickHandler.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "GateKickHandler.h" 26 | 27 | GateKickHandler::GateKickHandler(DesktopSrvDispatcher *dispatcher) 28 | { 29 | dispatcher->registerNewHandle(255, this); 30 | } 31 | 32 | GateKickHandler::~GateKickHandler() 33 | { 34 | } 35 | 36 | void GateKickHandler::onRequest(UINT8 reqCode, BlockingGate *backGate) 37 | { 38 | // Do nothing 39 | } 40 | -------------------------------------------------------------------------------- /desktop-ipc/ReconnectException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ReconnectException.h" 26 | 27 | ReconnectException::ReconnectException(const TCHAR *message) 28 | { 29 | } 30 | 31 | ReconnectException::~ReconnectException() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /desktop-ipc/ReconnectException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __RECONNECTEXCEPTION_H__ 26 | #define __RECONNECTEXCEPTION_H__ 27 | 28 | #include "io-lib/IOException.h" 29 | 30 | class ReconnectException : public IOException 31 | { 32 | public: 33 | ReconnectException(const TCHAR *message); 34 | virtual ~ReconnectException(); 35 | }; 36 | 37 | #endif // __RECONNECTEXCEPTION_H__ 38 | -------------------------------------------------------------------------------- /desktop/AbnormDeskTermListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __ABNORMDESKTERMLISTENER_H__ 26 | #define __ABNORMDESKTERMLISTENER_H__ 27 | 28 | class AbnormDeskTermListener 29 | { 30 | public: 31 | virtual ~AbnormDeskTermListener() {} 32 | virtual void onAbnormalDesktopTerminate() = 0; 33 | }; 34 | 35 | #endif // __ABNORMDESKTERMLISTENER_H__ 36 | -------------------------------------------------------------------------------- /desktop/ClipboardListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ClipboardListener.h" 26 | 27 | ClipboardListener::ClipboardListener(void) 28 | { 29 | } 30 | 31 | ClipboardListener::~ClipboardListener(void) 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /desktop/CursorShapeGrabber.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "CursorShapeGrabber.h" 26 | 27 | CursorShapeGrabber::CursorShapeGrabber() 28 | { 29 | } 30 | 31 | CursorShapeGrabber::~CursorShapeGrabber() 32 | { 33 | } 34 | 35 | const CursorShape *CursorShapeGrabber::getCursorShape() const 36 | { 37 | return &m_cursorShape; 38 | } 39 | -------------------------------------------------------------------------------- /desktop/InputBlocker.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "InputBlocker.h" 26 | 27 | InputBlocker::InputBlocker() 28 | { 29 | } 30 | 31 | InputBlocker::~InputBlocker() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /desktop/UpdateDetector.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "UpdateDetector.h" 26 | 27 | UpdateDetector::UpdateDetector(UpdateKeeper *updateKeeper, 28 | UpdateListener *updateListener) 29 | : m_updateKeeper(updateKeeper), 30 | m_updateListener(updateListener) 31 | { 32 | } 33 | 34 | UpdateDetector::~UpdateDetector() 35 | { 36 | } 37 | -------------------------------------------------------------------------------- /desktop/UpdateListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "UpdateListener.h" 26 | 27 | UpdateListener::UpdateListener(void) 28 | { 29 | } 30 | 31 | UpdateListener::~UpdateListener(void) 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /desktop/UpdateListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __UPDATELISTENER_H__ 26 | #define __UPDATELISTENER_H__ 27 | 28 | #include "thread/LocalMutex.h" 29 | 30 | class UpdateListener 31 | { 32 | public: 33 | UpdateListener(void); 34 | virtual ~UpdateListener(void); 35 | 36 | // Interface function 37 | virtual void onUpdate() = 0; 38 | }; 39 | 40 | #endif // __UPDATELISTENER_H__ 41 | -------------------------------------------------------------------------------- /desktop/UpdateSendingListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | -------------------------------------------------------------------------------- /desktop/UserInput.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "UserInput.h" 26 | 27 | UserInput::UserInput() 28 | { 29 | } 30 | 31 | UserInput::~UserInput(void) 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /desktop/Win32ScreenDriverBaseImpl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/desktop/Win32ScreenDriverBaseImpl.h -------------------------------------------------------------------------------- /desktop/WinDxCriticalException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "WinDxCriticalException.h" 26 | 27 | WinDxCriticalException::WinDxCriticalException(const TCHAR *message, HRESULT errCode) 28 | : WinDxException(message, errCode) 29 | { 30 | } 31 | 32 | WinDxCriticalException::~WinDxCriticalException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /desktop/WinDxCriticalException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __WINDXCRITICALEXCEPTION_H__ 26 | #define __WINDXCRITICALEXCEPTION_H__ 27 | 28 | #include "WinDxException.h" 29 | 30 | class WinDxCriticalException : public WinDxException 31 | { 32 | public: 33 | WinDxCriticalException(const TCHAR *message, HRESULT errCode); 34 | virtual ~WinDxCriticalException(); 35 | }; 36 | 37 | #endif // __WINDXCRITICALEXCEPTION_H__ 38 | -------------------------------------------------------------------------------- /desktop/WinDxException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "WinDxException.h" 26 | 27 | WinDxException::WinDxException(const TCHAR *message, HRESULT errCode) 28 | : Exception(message), 29 | m_errCode(errCode) 30 | { 31 | } 32 | 33 | WinDxException::~WinDxException() 34 | { 35 | } 36 | 37 | HRESULT WinDxException::getErrorCode() const 38 | { 39 | return m_errCode; 40 | } 41 | -------------------------------------------------------------------------------- /desktop/WinDxRecoverableException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "WinDxRecoverableException.h" 26 | 27 | WinDxRecoverableException::WinDxRecoverableException(const TCHAR *message, HRESULT errCode) 28 | : WinDxException(message, errCode) 29 | { 30 | } 31 | 32 | WinDxRecoverableException::~WinDxRecoverableException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /fb-update-sender/UpdSenderMsgDefs.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "UpdSenderMsgDefs.h" 26 | 27 | const char UpdSenderClientMsgDefs::RFB_VIDEO_FREEZE_SIG[] = "VD_FREEZ"; 28 | -------------------------------------------------------------------------------- /fb-update-sender/UpdSenderMsgDefs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __UPDSENDERMSGDEFS_H__ 26 | #define __UPDSENDERMSGDEFS_H__ 27 | 28 | #include "util/inttypes.h" 29 | 30 | class UpdSenderClientMsgDefs 31 | { 32 | public: 33 | static const UINT32 RFB_VIDEO_FREEZE = 152; 34 | const static char RFB_VIDEO_FREEZE_SIG[]; 35 | }; 36 | 37 | #endif // __UPDSENDERMSGDEFS_H__ 38 | -------------------------------------------------------------------------------- /file-lib/EOFException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "EOFException.h" 26 | 27 | EOFException::EOFException() 28 | : IOException(_T("End of file reached")) 29 | { 30 | } 31 | 32 | EOFException::~EOFException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /file-lib/EOFException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _EOF_EXCEPTION_H_ 26 | #define _EOF_EXCEPTION_H_ 27 | 28 | #include "io-lib/IOException.h" 29 | 30 | class EOFException : public IOException 31 | { 32 | public: 33 | EOFException(); 34 | virtual ~EOFException(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /file-lib/FileNotFoundException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "FileNotFoundException.h" 26 | 27 | FileNotFoundException::FileNotFoundException() 28 | : IOException() 29 | { 30 | } 31 | 32 | FileNotFoundException::FileNotFoundException(const TCHAR *message) 33 | : IOException(message) 34 | { 35 | } 36 | 37 | FileNotFoundException::~FileNotFoundException() 38 | { 39 | } 40 | -------------------------------------------------------------------------------- /file-lib/FileNotFoundException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _FILE_NOT_FOUND_EXCEPTION_H_ 26 | #define _FILE_NOT_FOUND_EXCEPTION_H_ 27 | 28 | #include "io-lib/IOException.h" 29 | 30 | class FileNotFoundException : public IOException 31 | { 32 | public: 33 | FileNotFoundException(); 34 | FileNotFoundException(const TCHAR *message); 35 | virtual ~FileNotFoundException(); 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /ft-client-lib/FileTransferEventHandler.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "FileTransferEventHandler.h" 26 | 27 | FileTransferEventHandler::FileTransferEventHandler() 28 | { 29 | } 30 | 31 | FileTransferEventHandler::~FileTransferEventHandler() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /ft-client-lib/FileTransferInterface.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "FileTransferInterface.h" 26 | 27 | FileTransferInterface::FileTransferInterface(FileTransferCore *core) 28 | : m_ftCore(core) 29 | { 30 | } 31 | 32 | FileTransferInterface::~FileTransferInterface() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /ft-client-lib/OperationNotPermittedException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "OperationNotPermittedException.h" 26 | 27 | OperationNotPermittedException::OperationNotPermittedException() 28 | : Exception(_T("Current message is not permitted by current file transfer operation")) 29 | { 30 | } 31 | 32 | OperationNotPermittedException::~OperationNotPermittedException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /ft-common/OperationNotSupportedException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "OperationNotSupportedException.h" 26 | 27 | OperationNotSupportedException::OperationNotSupportedException() 28 | : Exception(_T("Operation not supported")) 29 | { 30 | } 31 | 32 | OperationNotSupportedException::~OperationNotSupportedException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /ft-common/OperationNotSupportedException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _OPERATION_NOT_SUPPORTED_EXCEPTION_H_ 26 | #define _OPERATION_NOT_SUPPORTED_EXCEPTION_H_ 27 | 28 | #include "util/Exception.h" 29 | 30 | class OperationNotSupportedException : public Exception 31 | { 32 | public: 33 | OperationNotSupportedException(); 34 | virtual ~OperationNotSupportedException(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /ft-server-lib/ft-server-lib.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | 22 | 23 | Header Files 24 | 25 | 26 | Header Files 27 | 28 | 29 | -------------------------------------------------------------------------------- /gui/CheckBox.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "CheckBox.h" 26 | 27 | bool CheckBox::isChecked() 28 | { 29 | return (SendMessage(m_hwnd, BM_GETCHECK, NULL, NULL) != 0); 30 | } 31 | 32 | void CheckBox::check(bool checked) 33 | { 34 | SendMessage(m_hwnd, BM_SETCHECK, (checked) ? 1 : 0, NULL); 35 | } 36 | -------------------------------------------------------------------------------- /gui/CheckBox.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __CHECKBOX_H_ 26 | #define __CHECKBOX_H_ 27 | 28 | #include "Control.h" 29 | 30 | class CheckBox : public Control 31 | { 32 | public: 33 | bool isChecked(); 34 | void check(bool checked); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /gui/CommonControlsEx.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _COMMON_CONTROLS_EX_H_ 26 | #define _COMMON_CONTROLS_EX_H_ 27 | 28 | #include "util/Exception.h" 29 | 30 | class CommonControlsEx 31 | { 32 | public: 33 | CommonControlsEx(); 34 | virtual ~CommonControlsEx(); 35 | 36 | static void init() throw(Exception); 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /gui/ProgressBar.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _PROGRESS_BAR_H_ 26 | #define _PROGRESS_BAR_H_ 27 | 28 | #include "Control.h" 29 | 30 | class ProgressBar : public Control 31 | { 32 | public: 33 | ProgressBar(); 34 | ~ProgressBar(); 35 | 36 | void setRange(WORD min, WORD max); 37 | void setPos(WORD pos); 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /gui/StringFilter.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "StringFilter.h" 26 | 27 | bool StringFilter::isStringCorrect(const TCHAR *string) 28 | { 29 | return true; 30 | } 31 | -------------------------------------------------------------------------------- /gui/StringFilter.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _STRING_FILTER_H_ 26 | #define _STRING_FILTER_H_ 27 | 28 | #include 29 | 30 | class StringFilter 31 | { 32 | public: 33 | virtual bool isStringCorrect(const TCHAR *string); 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /gui/TabContainer.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "TabContainer.h" 26 | -------------------------------------------------------------------------------- /gui/TabContainer.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _TAB_CONTAINER_H_ 26 | #define _TAB_CONTAINER_H_ 27 | 28 | #include "Tab.h" 29 | #include 30 | 31 | using namespace std; 32 | 33 | typedef vector TabContainer; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /gui/Tooltip.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Tooltip.h" 26 | 27 | Tooltip::Tooltip() 28 | { 29 | } 30 | 31 | Tooltip::~Tooltip() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /gui/WindowMessageHandler.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __WINDOWMESSAGEHANDLER_H__ 26 | #define __WINDOWMESSAGEHANDLER_H__ 27 | 28 | class WindowMessageHandler 29 | { 30 | public: 31 | // This function must return true if a message has been processed. 32 | virtual bool processMessage(UINT message, WPARAM wParam, LPARAM lParam) = 0; 33 | }; 34 | 35 | #endif // __WINDOWMESSAGEHANDLER_H__ 36 | -------------------------------------------------------------------------------- /gui/drawing/Brush.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Brush.h" 26 | 27 | Brush::Brush() 28 | : m_brush(0) 29 | { 30 | } 31 | 32 | Brush::~Brush() 33 | { 34 | release(); 35 | } 36 | 37 | void Brush::release() 38 | { 39 | if (m_brush != 0) { 40 | DeleteObject(m_brush); 41 | m_brush = 0; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /gui/drawing/Brush.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _BRUSH_H_ 26 | #define _BRUSH_H_ 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | class Brush 31 | { 32 | public: 33 | Brush(); 34 | virtual ~Brush(); 35 | 36 | protected: 37 | void release(); 38 | 39 | protected: 40 | HBRUSH m_brush; 41 | 42 | friend class Graphics; 43 | }; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /gui/drawing/Pen.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Pen.h" 26 | 27 | #include 28 | 29 | Pen::Pen(int type, int width, COLORREF color) 30 | : m_pen(NULL) 31 | { 32 | m_pen = CreatePen(type, width, color); 33 | 34 | _ASSERT(m_pen != NULL); 35 | } 36 | 37 | Pen::~Pen() 38 | { 39 | DeleteObject(m_pen); 40 | } 41 | -------------------------------------------------------------------------------- /gui/drawing/SolidBrush.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "SolidBrush.h" 26 | 27 | SolidBrush::SolidBrush(COLORREF color) 28 | : Brush() 29 | { 30 | m_brush = CreateSolidBrush(color); 31 | } 32 | 33 | SolidBrush::~SolidBrush() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /gui/drawing/SolidBrush.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _SOLID_BRUSH_H_ 26 | #define _SOLID_BRUSH_H_ 27 | 28 | #include "Brush.h" 29 | 30 | class SolidBrush : public Brush 31 | { 32 | public: 33 | SolidBrush(COLORREF color); 34 | virtual ~SolidBrush(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /hookldr/ParentEventsListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __PARENTEVENTSLISTENER_H__ 26 | #define __PARENTEVENTSLISTENER_H__ 27 | 28 | class ParentEventsListener 29 | { 30 | public: 31 | virtual void onParentTerminate() = 0; 32 | }; 33 | 34 | #endif // __PARENTEVENTSLISTENER_H__ 35 | -------------------------------------------------------------------------------- /hookldr/hookldr.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/hookldr/hookldr.rc -------------------------------------------------------------------------------- /hookldr/hookldr.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | Source Files 22 | 23 | 24 | 25 | 26 | Header Files 27 | 28 | 29 | Header Files 30 | 31 | 32 | Header Files 33 | 34 | 35 | -------------------------------------------------------------------------------- /hookldr/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/hookldr/resource.h -------------------------------------------------------------------------------- /io-lib/BufferedInputStream.h: -------------------------------------------------------------------------------- 1 | #ifndef BUFFEREDINPUTSTREAM_H 2 | #define BUFFEREDINPUTSTREAM_H 3 | 4 | #include "DataInputStream.h" 5 | #include 6 | 7 | class BufferedInputStream : public InputStream 8 | { 9 | public: 10 | 11 | BufferedInputStream(InputStream *input); 12 | 13 | virtual ~BufferedInputStream(); 14 | 15 | virtual size_t read(void *buffer, size_t len); 16 | 17 | size_t available(); 18 | 19 | protected: 20 | 21 | const size_t MAX_BUFFER_SIZE; 22 | const size_t INITIAL_BUFFER_SIZE; 23 | 24 | DataInputStream *m_input; 25 | 26 | std::vector m_buffer; 27 | 28 | size_t m_have; 29 | size_t m_pos; 30 | 31 | }; 32 | 33 | #endif // BUFFEREDINPUTSTREAM_H 34 | -------------------------------------------------------------------------------- /io-lib/Channel.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Channel.h" 26 | 27 | Channel::~Channel() 28 | { 29 | } 30 | -------------------------------------------------------------------------------- /io-lib/IOException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "IOException.h" 26 | 27 | IOException::IOException() 28 | : Exception() 29 | { 30 | } 31 | 32 | IOException::IOException(const TCHAR *message) 33 | : Exception(message) 34 | { 35 | } 36 | 37 | IOException::~IOException() 38 | { 39 | } 40 | -------------------------------------------------------------------------------- /io-lib/IOException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _IO_EXCEPTION_H_ 26 | #define _IO_EXCEPTION_H_ 27 | 28 | #include "util/Exception.h" 29 | 30 | class IOException : public Exception 31 | { 32 | public: 33 | IOException(); 34 | IOException(const TCHAR *message); 35 | virtual ~IOException(); 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /io-lib/InputStream.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "InputStream.h" 26 | 27 | InputStream::~InputStream() 28 | { 29 | } 30 | -------------------------------------------------------------------------------- /io-lib/OutputStream.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "OutputStream.h" 26 | 27 | OutputStream::~OutputStream() 28 | { 29 | } 30 | 31 | void OutputStream::flush() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /libjpeg/jversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jversion.h 3 | * 4 | * Copyright (C) 1991-2022, Thomas G. Lane, Guido Vollbeding. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains software version identification. 9 | */ 10 | 11 | 12 | #define JVERSION "9e 16-Jan-2022" 13 | 14 | #define JCOPYRIGHT "Copyright (C) 2022, Thomas G. Lane, Guido Vollbeding" 15 | -------------------------------------------------------------------------------- /log-server/ConnectionListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ConnectionListener.h" 26 | 27 | ConnectionListener::ConnectionListener() 28 | { 29 | } 30 | 31 | ConnectionListener::~ConnectionListener() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /log-server/ConnectionListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __CONNECTIONLISTENER_H__ 26 | #define __CONNECTIONLISTENER_H__ 27 | 28 | #include "io-lib/Channel.h" 29 | 30 | class ConnectionListener 31 | { 32 | public: 33 | virtual void onNewConnection(Channel *channel) = 0; 34 | }; 35 | 36 | #endif // __CONNECTIONLISTENER_H__ 37 | -------------------------------------------------------------------------------- /log-server/FileLogDefs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __FILE_LOG_DEFS_H__ 26 | #define __FILE_LOG_DEFS_H__ 27 | 28 | typedef size_t FileAccountHandle; 29 | 30 | #endif // __FILE_LOG_DEFS_H__ 31 | -------------------------------------------------------------------------------- /log-server/TimerListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __TIMERLISTENER_H__ 26 | #define __TIMERLISTENER_H__ 27 | 28 | class TimerListener 29 | { 30 | public: 31 | virtual void onTimeTimer() = 0; 32 | }; 33 | 34 | #endif // __TIMERLISTENER_H__ 35 | -------------------------------------------------------------------------------- /log-writer/ProfileLogger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/log-writer/ProfileLogger.h -------------------------------------------------------------------------------- /network/RfbInputGate.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "RfbInputGate.h" 26 | 27 | RfbInputGate::RfbInputGate(Channel *stream) 28 | : DataInputStream(stream) 29 | { 30 | } 31 | RfbInputGate::RfbInputGate(InputStream *stream) 32 | : DataInputStream(stream) 33 | { 34 | } 35 | 36 | RfbInputGate::~RfbInputGate() 37 | { 38 | } 39 | -------------------------------------------------------------------------------- /network/RfbInputGate.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _RFB_INPUT_GATE_H_ 26 | #define _RFB_INPUT_GATE_H_ 27 | 28 | #include "io-lib/Channel.h" 29 | 30 | #include "io-lib/DataInputStream.h" 31 | 32 | class RfbInputGate : public DataInputStream 33 | { 34 | public: 35 | RfbInputGate(Channel *stream); 36 | RfbInputGate(InputStream *stream); 37 | virtual ~RfbInputGate(); 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /network/socket/sockdefs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef SOCKDEFS_H 26 | #define SOCKDEFS_H 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | #define socklen_t int 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /rfb-sconn/AuthException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __AUTHEXCEPTION_H__ 26 | #define __AUTHEXCEPTION_H__ 27 | 28 | #include "util/exception.h" 29 | 30 | class AuthException : public Exception 31 | { 32 | public: 33 | AuthException(const TCHAR *message): Exception(message) {} 34 | virtual ~AuthException() {} 35 | }; 36 | 37 | #endif // __AUTHEXCEPTION_H__ 38 | -------------------------------------------------------------------------------- /rfb-sconn/ClientTerminationListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __CLIENTTERMINATIONLISTENER_H__ 26 | #define __CLIENTTERMINATIONLISTENER_H__ 27 | 28 | class ClientTerminationListener 29 | { 30 | public: 31 | virtual ~ClientTerminationListener() {} 32 | 33 | virtual void onClientTerminate() = 0; 34 | }; 35 | 36 | #endif // __CLIENTTERMINATIONLISTENER_H__ 37 | -------------------------------------------------------------------------------- /rfb-sconn/RfbDispatcherListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __RFBDISPATCHERLISTENER_H__ 26 | #define __RFBDISPATCHERLISTENER_H__ 27 | 28 | #include "network/RfbInputGate.h" 29 | 30 | class RfbDispatcherListener 31 | { 32 | public: 33 | virtual ~RfbDispatcherListener() {}; 34 | virtual void onRequest(UINT32 reqCode, RfbInputGate *input) = 0; 35 | }; 36 | 37 | #endif // __RFBDISPATCHERLISTENER_H__ 38 | -------------------------------------------------------------------------------- /rfb/RfbKeySymListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __RFBKEYSYMLISTENER_H__ 26 | #define __RFBKEYSYMLISTENER_H__ 27 | 28 | class RfbKeySymListener 29 | { 30 | public: 31 | virtual void onRfbKeySymEvent(unsigned int rfbKeySym, bool down) = 0; 32 | }; 33 | 34 | #endif // __RFBKEYSYMLISTENER_H__ 35 | -------------------------------------------------------------------------------- /rfb/TunnelDefs.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "TunnelDefs.h" 26 | 27 | const char *const TunnelDefs::SIG_NONE = "NOTUNNEL"; 28 | -------------------------------------------------------------------------------- /rfb/TunnelDefs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __TUNNELDEFS_H__ 26 | #define __TUNNELDEFS_H__ 27 | 28 | #include "util/inttypes.h" 29 | 30 | class TunnelDefs 31 | { 32 | public: 33 | static const UINT32 NOTUNNEL = 0; 34 | static const char *const SIG_NONE; 35 | private: 36 | }; 37 | 38 | #endif // __TUNNELDEFS_H__ 39 | -------------------------------------------------------------------------------- /rfb/VendorDefs.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "rfb/VendorDefs.h" 26 | 27 | const char *const VendorDefs::STANDARD = "STDV"; 28 | const char *const VendorDefs::TIGHTVNC = "TGHT"; 29 | -------------------------------------------------------------------------------- /rfb/VendorDefs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __RFB_VENDOR_DEFS_H_INCLUDED__ 26 | #define __RFB_VENDOR_DEFS_H_INCLUDED__ 27 | 28 | class VendorDefs 29 | { 30 | public: 31 | static const char *const STANDARD; 32 | static const char *const TIGHTVNC; 33 | }; 34 | 35 | #endif // __RFB_VENDOR_DEFS_H_INCLUDED__ 36 | -------------------------------------------------------------------------------- /screen-hooks/ScreenHooks.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __SCREENHOOKS_H__ 26 | #define __SCREENHOOKS_H__ 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | extern "C" 31 | { 32 | __declspec(dllexport) bool setHook(HWND targedWinHwnd); 33 | __declspec(dllexport) bool unsetHook(); 34 | } 35 | 36 | #endif // __SCREENHOOKS_H__ 37 | -------------------------------------------------------------------------------- /screen-hooks/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/screen-hooks/resource.h -------------------------------------------------------------------------------- /screen-hooks/screenhooks.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/screen-hooks/screenhooks.rc -------------------------------------------------------------------------------- /screen-hooks/screenhooks.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | 19 | 20 | Header Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /server-config-lib/ConfigReloadListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ConfigReloadListener.h" 26 | 27 | ConfigReloadListener::ConfigReloadListener() 28 | { 29 | } 30 | 31 | ConfigReloadListener::~ConfigReloadListener() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /server-config-lib/ConfigReloadListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _CONFIG_RELOAD_LISTENER_H_ 26 | #define _CONFIG_RELOAD_LISTENER_H_ 27 | 28 | #include "ServerConfig.h" 29 | 30 | class ConfigReloadListener 31 | { 32 | public: 33 | ConfigReloadListener(); 34 | virtual ~ConfigReloadListener(); 35 | 36 | virtual void onConfigReload(ServerConfig *serverConfig) = 0; 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /setup-helper/CustomAction.def: -------------------------------------------------------------------------------- 1 | LIBRARY "setup-helper" 2 | 3 | EXPORTS 4 | 5 | AllowSas 6 | SetRfbPassword 7 | SetControlPassword 8 | SetViewOnlyPassword 9 | -------------------------------------------------------------------------------- /setup-helper/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by setup-helper.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 101 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1001 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /setup-helper/setup-helper.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/setup-helper/setup-helper.rc -------------------------------------------------------------------------------- /thread/AutoLock.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "AutoLock.h" 26 | 27 | AutoLock::AutoLock(Lockable *locker) 28 | : m_locker(locker) 29 | { 30 | m_locker->lock(); 31 | } 32 | 33 | AutoLock::~AutoLock() 34 | { 35 | m_locker->unlock(); 36 | } 37 | -------------------------------------------------------------------------------- /thread/AutoLock.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __AUTOLOCK_H__ 26 | #define __AUTOLOCK_H__ 27 | 28 | #include "Lockable.h" 29 | 30 | class AutoLock 31 | { 32 | public: 33 | AutoLock(Lockable *locker); 34 | virtual ~AutoLock(); 35 | 36 | protected: 37 | Lockable *m_locker; 38 | }; 39 | 40 | #endif // __AUTOLOCK_H__ 41 | -------------------------------------------------------------------------------- /tvncontrol-app/DisconnectAllCommand.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "DisconnectAllCommand.h" 26 | 27 | DisconnectAllCommand::DisconnectAllCommand(ControlProxy *serverControl) 28 | : m_proxy(serverControl) 29 | { 30 | } 31 | 32 | DisconnectAllCommand::~DisconnectAllCommand() 33 | { 34 | } 35 | 36 | void DisconnectAllCommand::execute() 37 | { 38 | m_proxy->disconnectAllClients(); 39 | } 40 | -------------------------------------------------------------------------------- /tvncontrol-app/Notificator.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Notificator.h" 26 | 27 | Notificator::~Notificator() 28 | { 29 | } 30 | -------------------------------------------------------------------------------- /tvncontrol-app/Notificator.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _NOTIFICATOR_H_ 26 | #define _NOTIFICATOR_H_ 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | // FIXME: Document this class. 31 | class Notificator 32 | { 33 | public: 34 | virtual ~Notificator(); 35 | 36 | virtual void notifyServerSideException(const TCHAR *reason) = 0; 37 | virtual void notifyConnectionLost() = 0; 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /tvncontrol-app/ReloadConfigCommand.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ReloadConfigCommand.h" 26 | 27 | ReloadConfigCommand::ReloadConfigCommand(ControlProxy *proxy) 28 | : m_proxy(proxy) 29 | { 30 | } 31 | 32 | ReloadConfigCommand::~ReloadConfigCommand() 33 | { 34 | } 35 | 36 | void ReloadConfigCommand::execute() 37 | { 38 | m_proxy->reloadServerConfig(); 39 | } 40 | -------------------------------------------------------------------------------- /tvncontrol-app/RemoteException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "RemoteException.h" 26 | 27 | RemoteException::RemoteException(const TCHAR *reason) 28 | : Exception(reason) 29 | { 30 | } 31 | 32 | RemoteException::~RemoteException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /tvncontrol-app/RfbClientInfo.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "RfbClientInfo.h" 26 | 27 | RfbClientInfo::RfbClientInfo(UINT32 id, const TCHAR *peerAddr) 28 | : m_id(id), m_peerAddr(peerAddr) 29 | { 30 | } 31 | 32 | RfbClientInfo::~RfbClientInfo() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /tvncontrol-app/ShareAppCommand.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ShareAppCommand.h" 26 | 27 | ShareAppCommand::ShareAppCommand(ControlProxy *serverControl, unsigned int procId) 28 | : m_proxy(serverControl), 29 | m_procId(procId) 30 | { 31 | } 32 | 33 | ShareAppCommand::~ShareAppCommand() 34 | { 35 | } 36 | 37 | void ShareAppCommand::execute() 38 | { 39 | m_proxy->shareApp(m_procId); 40 | } 41 | -------------------------------------------------------------------------------- /tvncontrol-app/ShareFullCommand.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ShareFullCommand.h" 26 | 27 | ShareFullCommand::ShareFullCommand(ControlProxy *serverControl) 28 | : m_proxy(serverControl) 29 | { 30 | } 31 | 32 | ShareFullCommand::~ShareFullCommand() 33 | { 34 | } 35 | 36 | void ShareFullCommand::execute() 37 | { 38 | m_proxy->shareFull(); 39 | } 40 | -------------------------------------------------------------------------------- /tvncontrol-app/SharePrimaryCommand.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "SharePrimaryCommand.h" 26 | 27 | SharePrimaryCommand::SharePrimaryCommand(ControlProxy *serverControl) 28 | : m_proxy(serverControl) 29 | { 30 | } 31 | 32 | SharePrimaryCommand::~SharePrimaryCommand() 33 | { 34 | } 35 | 36 | void SharePrimaryCommand::execute() 37 | { 38 | m_proxy->sharePrimary(); 39 | } 40 | -------------------------------------------------------------------------------- /tvncontrol-app/ShutdownCommand.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ShutdownCommand.h" 26 | 27 | ShutdownCommand::ShutdownCommand(ControlProxy *serverControl) 28 | : m_proxy(serverControl) 29 | { 30 | } 31 | 32 | ShutdownCommand::~ShutdownCommand() 33 | { 34 | } 35 | 36 | void ShutdownCommand::execute() 37 | { 38 | m_proxy->shutdownTightVnc(); 39 | } 40 | -------------------------------------------------------------------------------- /tvncontrol-app/Transport.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Transport.h" 26 | 27 | Transport::~Transport() 28 | { 29 | } 30 | -------------------------------------------------------------------------------- /tvnserver-app/LogInitListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __LOGINITLISTENER_H__ 26 | #define __LOGINITLISTENER_H__ 27 | 28 | class LogInitListener 29 | { 30 | public: 31 | virtual void onLogInit(const TCHAR *logDir, const TCHAR *fileName, unsigned char logLevel) = 0; 32 | virtual void onChangeLogProps(const TCHAR *newLogDir, unsigned char newLevel) = 0; 33 | }; 34 | 35 | #endif // __LOGINITLISTENER_H__ 36 | -------------------------------------------------------------------------------- /tvnserver-app/RfbClientManagerEventListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "RfbClientManagerEventListener.h" 26 | 27 | RfbClientManagerEventListener::~RfbClientManagerEventListener() 28 | { 29 | } 30 | -------------------------------------------------------------------------------- /tvnserver-app/TvnServerHelp.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _TVNSERVER_HELP_H_ 26 | #define _TVNSERVER_HELP_H_ 27 | 28 | /** 29 | * tvnserver.exe help class. 30 | */ 31 | class TvnServerHelp 32 | { 33 | public: 34 | /** 35 | * Shows tvnserver.exe usage message. 36 | */ 37 | static void showUsage(); 38 | private: 39 | TvnServerHelp(); 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /tvnserver-app/TvnServerListener.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "TvnServerListener.h" 26 | 27 | TvnServerListener::~TvnServerListener() 28 | { 29 | } 30 | -------------------------------------------------------------------------------- /tvnserver/BuildTime.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "BuildTime.h" 26 | 27 | const TCHAR BuildTime::DATE[] = _T(__DATE__) _T(" at ") _T(__TIME__); 28 | -------------------------------------------------------------------------------- /tvnserver/ComonControls.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tvnserver/DPIAware.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tvnserver/res/connected.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnserver/res/connected.ico -------------------------------------------------------------------------------- /tvnserver/res/disabled.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnserver/res/disabled.ico -------------------------------------------------------------------------------- /tvnserver/res/idle.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnserver/res/idle.ico -------------------------------------------------------------------------------- /tvnserver/res/tightvnc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnserver/res/tightvnc.bmp -------------------------------------------------------------------------------- /tvnserver/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnserver/resource.h -------------------------------------------------------------------------------- /tvnserver/tvnserver.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnserver/tvnserver.rc -------------------------------------------------------------------------------- /tvnviewer/BuildTime.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2008,2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "BuildTime.h" 26 | 27 | const TCHAR BuildTime::DATE[] = _T(__DATE__) _T(" at ") _T(__TIME__); 28 | -------------------------------------------------------------------------------- /tvnviewer/cmdline-help.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/cmdline-help.docx -------------------------------------------------------------------------------- /tvnviewer/res/appicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/appicon.ico -------------------------------------------------------------------------------- /tvnviewer/res/dot.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/dot.cur -------------------------------------------------------------------------------- /tvnviewer/res/fileup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/fileup.ico -------------------------------------------------------------------------------- /tvnviewer/res/ftdir.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/ftdir.ico -------------------------------------------------------------------------------- /tvnviewer/res/ftfile.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/ftfile.ico -------------------------------------------------------------------------------- /tvnviewer/res/nocursor.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/nocursor.cur -------------------------------------------------------------------------------- /tvnviewer/res/smalldot.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/smalldot.cur -------------------------------------------------------------------------------- /tvnviewer/res/tightvnc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/tightvnc.bmp -------------------------------------------------------------------------------- /tvnviewer/res/tightvnc48.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/tightvnc48.bmp -------------------------------------------------------------------------------- /tvnviewer/res/toolbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/res/toolbar.bmp -------------------------------------------------------------------------------- /tvnviewer/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/resource.h -------------------------------------------------------------------------------- /tvnviewer/resource_chs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/resource_chs.h -------------------------------------------------------------------------------- /tvnviewer/tvnviewer.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/tvnviewer.rc -------------------------------------------------------------------------------- /tvnviewer/tvnviewer_chs.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/tvnviewer/tvnviewer_chs.rc -------------------------------------------------------------------------------- /util/AnEventListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __ANEVENTLISTENER_H__ 26 | #define __ANEVENTLISTENER_H__ 27 | 28 | class AnEventListener 29 | { 30 | public: 31 | AnEventListener() {} 32 | virtual ~AnEventListener() {} 33 | 34 | virtual void onAnObjectEvent() = 0; 35 | }; 36 | 37 | #endif // __ANEVENTLISTENER_H__ 38 | -------------------------------------------------------------------------------- /util/BrokenHandleException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "BrokenHandleException.h" 26 | 27 | BrokenHandleException::BrokenHandleException(const TCHAR *message) 28 | : Exception(message) 29 | { 30 | } 31 | 32 | BrokenHandleException::~BrokenHandleException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /util/CharDefs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifdef WIN32 26 | #include 27 | #endif // WIN32 28 | -------------------------------------------------------------------------------- /util/Command.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Command.h" 26 | 27 | Command::Command() 28 | { 29 | } 30 | 31 | Command::~Command() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /util/Command.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _COMMAND_H_ 26 | #define _COMMAND_H_ 27 | 28 | class Command 29 | { 30 | public: 31 | Command(); 32 | virtual ~Command(); 33 | 34 | virtual void execute() = 0; 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /util/CommandLineArgs.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "CommandLineArgs.h" 26 | 27 | CommandLineArgs::CommandLineArgs() 28 | { 29 | } 30 | 31 | CommandLineArgs::~CommandLineArgs() 32 | { 33 | } 34 | 35 | void CommandLineArgs::getArgVector(std::vector *out) const 36 | { 37 | *out = m_args; 38 | } 39 | -------------------------------------------------------------------------------- /util/CommandLineFormatException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "CommandLineFormatException.h" 26 | 27 | CommandLineFormatException::CommandLineFormatException(const TCHAR *message) 28 | : Exception(message) 29 | { 30 | } 31 | 32 | CommandLineFormatException::~CommandLineFormatException() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /util/CommandLineFormatHelp.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "CommandLineFormatHelp.h" 26 | 27 | CommandLineFormatHelp::CommandLineFormatHelp(const TCHAR *message) 28 | : Exception(message) 29 | { 30 | } 31 | 32 | CommandLineFormatHelp::~CommandLineFormatHelp() 33 | { 34 | } 35 | -------------------------------------------------------------------------------- /util/CommandLineFormatHelp.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _COMMAND_LINE_FORMAT_HELP_H_ 26 | #define _COMMAND_LINE_FORMAT_HELP_H_ 27 | 28 | #include "util/Exception.h" 29 | 30 | class CommandLineFormatHelp : public Exception 31 | { 32 | public: 33 | CommandLineFormatHelp(const TCHAR *message = _T("Need help dialog")); 34 | virtual ~CommandLineFormatHelp(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /util/Deflater.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _DEFLATER_H_ 26 | #define _DEFLATER_H_ 27 | 28 | #include "ZLibBase.h" 29 | #include "ZLibException.h" 30 | 31 | class Deflater : public ZLibBase 32 | { 33 | public: 34 | Deflater(); 35 | ~Deflater(); 36 | 37 | void deflate() throw(ZLibException); 38 | protected: 39 | z_stream m_zlibStream; 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /util/KeyContainer.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "KeyContainer.h" 26 | 27 | KeyContainer::KeyContainer() 28 | : isArgument(false) 29 | { 30 | } 31 | -------------------------------------------------------------------------------- /util/KeyContainer.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __KEYCONTAINER_H__ 26 | #define __KEYCONTAINER_H__ 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | class KeyContainer 31 | { 32 | public: 33 | KeyContainer(); 34 | 35 | StringStorage key; 36 | bool isArgument; 37 | StringStorage argument; 38 | }; 39 | 40 | #endif // __KEYCONTAINER_H__ 41 | -------------------------------------------------------------------------------- /util/MemUsage.cpp: -------------------------------------------------------------------------------- 1 | #include "MemUsage.h" 2 | #include "win-system/Environment.h" 3 | 4 | size_t MemUsage::getCurrentMemUsage() 5 | { 6 | if (!Environment::isVistaOrLater()) { 7 | return 0; 8 | } 9 | PROCESS_MEMORY_COUNTERS pmc; 10 | GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)); 11 | return (size_t)pmc.WorkingSetSize; 12 | } 13 | -------------------------------------------------------------------------------- /util/MemUsage.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __MEMUSAGE_H__ 26 | #define __MEMUSAGE_H__ 27 | 28 | class MemUsage 29 | { 30 | public: 31 | static size_t getCurrentMemUsage(); 32 | }; 33 | 34 | #endif __MEMUSAGE_H__ 35 | 36 | -------------------------------------------------------------------------------- /util/StringVector.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _STRING_VECTOR_H_ 26 | #define _STRING_VECTOR_H_ 27 | 28 | #include 29 | 30 | using namespace std; 31 | 32 | #include "util/StringStorage.h" 33 | 34 | typedef vector StringVector; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /util/Unicode.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Unicode.h" 26 | 27 | unsigned short Unicode::SIGNATURE = 0xFEFF; 28 | 29 | bool Unicode::isEnabled() 30 | { 31 | #ifdef _UNICODE 32 | return true; 33 | #endif 34 | return false; 35 | } 36 | -------------------------------------------------------------------------------- /util/Unicode.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _UNICODE_H_ 26 | #define _UNICODE_H_ 27 | 28 | class Unicode 29 | { 30 | public: 31 | static unsigned short SIGNATURE; 32 | 33 | /** 34 | @return returns true if application is built with unicode character set enabled. 35 | */ 36 | static bool isEnabled(); 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /util/ZlibException.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "ZLibException.h" 26 | 27 | ZLibException::ZLibException(const TCHAR *message) 28 | : Exception(message) 29 | { 30 | } 31 | 32 | ZLibException::ZLibException() 33 | : Exception() 34 | { 35 | } 36 | 37 | ZLibException::~ZLibException() 38 | { 39 | } 40 | -------------------------------------------------------------------------------- /util/ZlibException.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _ZLIB_EXCEPTION_H_ 26 | #define _ZLIB_EXCEPTION_H_ 27 | 28 | #include "util/Exception.h" 29 | 30 | class ZLibException : public Exception 31 | { 32 | public: 33 | ZLibException(const TCHAR *message); 34 | ZLibException(); 35 | virtual ~ZLibException(); 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /viewer-core/CapabilitiesManager.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "CapabilitiesManager.h" 26 | 27 | CapabilitiesManager::CapabilitiesManager() 28 | { 29 | } 30 | 31 | CapabilitiesManager::~CapabilitiesManager() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /viewer-core/DesktopSizeDecoder.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "DesktopSizeDecoder.h" 26 | 27 | DesktopSizeDecoder::DesktopSizeDecoder(LogWriter *logWriter) 28 | : PseudoDecoder(logWriter) 29 | { 30 | m_encoding = PseudoEncDefs::DESKTOP_SIZE; 31 | } 32 | 33 | DesktopSizeDecoder::~DesktopSizeDecoder() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /viewer-core/DesktopSizeDecoder.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _DESKTOP_SIZE_DECODER_H_ 26 | #define _DESKTOP_SIZE_DECODER_H_ 27 | 28 | #include "PseudoDecoder.h" 29 | 30 | class DesktopSizeDecoder : public PseudoDecoder 31 | { 32 | public: 33 | DesktopSizeDecoder(LogWriter *logWriter); 34 | virtual ~DesktopSizeDecoder(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /viewer-core/LastRectDecoder.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "LastRectDecoder.h" 26 | 27 | LastRectDecoder::LastRectDecoder(LogWriter *logWriter) 28 | : PseudoDecoder(logWriter) 29 | { 30 | m_encoding = PseudoEncDefs::LAST_RECT; 31 | } 32 | 33 | LastRectDecoder::~LastRectDecoder() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /viewer-core/LastRectDecoder.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _LAST_RECT_DECODER_H_ 26 | #define _LAST_RECT_DECODER_H_ 27 | 28 | #include "PseudoDecoder.h" 29 | 30 | class LastRectDecoder : public PseudoDecoder 31 | { 32 | public: 33 | LastRectDecoder(LogWriter *logWriter); 34 | virtual ~LastRectDecoder(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /viewer-core/PointerPosDecoder.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "PointerPosDecoder.h" 26 | 27 | PointerPosDecoder::PointerPosDecoder(LogWriter *logWriter) 28 | : PseudoDecoder(logWriter) 29 | { 30 | m_encoding = PseudoEncDefs::POINTER_POS; 31 | } 32 | 33 | PointerPosDecoder::~PointerPosDecoder() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /viewer-core/PointerPosDecoder.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _CURSOR_POS_DECODER_H_ 26 | #define _CURSOR_POS_DECODER_H_ 27 | 28 | #include "PseudoDecoder.h" 29 | 30 | class PointerPosDecoder : public PseudoDecoder 31 | { 32 | public: 33 | PointerPosDecoder(LogWriter *logWriter); 34 | virtual ~PointerPosDecoder(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /viewer-core/PseudoDecoder.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "PseudoDecoder.h" 26 | 27 | PseudoDecoder::PseudoDecoder(LogWriter *logWriter) 28 | : Decoder(logWriter) 29 | { 30 | } 31 | 32 | PseudoDecoder::~PseudoDecoder() 33 | { 34 | } 35 | 36 | bool PseudoDecoder::isPseudo() const 37 | { 38 | return true; 39 | } 40 | -------------------------------------------------------------------------------- /viewer-core/PseudoDecoder.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _PSEUDO_DECODER_H_ 26 | #define _PSEUDO_DECODER_H_ 27 | 28 | #include "Decoder.h" 29 | 30 | class PseudoDecoder : public Decoder 31 | { 32 | public: 33 | PseudoDecoder(LogWriter *logWriter); 34 | virtual ~PseudoDecoder(); 35 | 36 | virtual bool isPseudo() const; 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /viewer-core/RfbClientToServerMessage.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "RfbClientToServerMessage.h" 26 | 27 | RfbClientToServerMessage::RfbClientToServerMessage() 28 | { 29 | } 30 | 31 | RfbClientToServerMessage::~RfbClientToServerMessage() 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /viewer-core/RichCursorDecoder.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "RichCursorDecoder.h" 26 | 27 | RichCursorDecoder::RichCursorDecoder(LogWriter *logWriter) 28 | : PseudoDecoder(logWriter) 29 | { 30 | m_encoding = PseudoEncDefs::RICH_CURSOR; 31 | } 32 | 33 | RichCursorDecoder::~RichCursorDecoder() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /viewer-core/RichCursorDecoder.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef _RICH_CURSOR_DECODER_H_ 26 | #define _RICH_CURSOR_DECODER_H_ 27 | 28 | #include "PseudoDecoder.h" 29 | 30 | class RichCursorDecoder : public PseudoDecoder 31 | { 32 | public: 33 | RichCursorDecoder(LogWriter *logWriter); 34 | virtual ~RichCursorDecoder(); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /viewer-core/UpdateRequestSender.h: -------------------------------------------------------------------------------- 1 | #ifndef _UPDATE_REQUEST_SENDER_ 2 | #define _UPDATE_REQUEST_SENDER_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | class UpdateRequestSender : public Thread 10 | { 11 | public: 12 | UpdateRequestSender(Lockable* m_fb_lock, FrameBuffer* m_frame_buffer, LogWriter* m_log_writer); 13 | 14 | ~UpdateRequestSender(); 15 | 16 | void setWasUpdated(); 17 | void setTimeout(int miliseconds); 18 | void setIsIncremental(bool isIncremental); 19 | void setOutput(RfbOutputGate* output); 20 | 21 | int getTimeout(); 22 | 23 | protected: 24 | virtual void execute() override; 25 | 26 | 27 | private: 28 | void sendFbUpdateRequest(); 29 | 30 | bool isUpdated(); 31 | bool isIncremental(); 32 | RfbOutputGate* getOutput(); 33 | 34 | bool m_wasUpdateRecieved; 35 | LocalMutex m_wasUpdatedLock; 36 | 37 | int m_timeOut; 38 | LocalMutex m_timeOutLock; 39 | 40 | bool m_isIncrimental; 41 | LocalMutex m_isIncrimentalLock; 42 | 43 | Lockable *m_fbLock; 44 | FrameBuffer *m_frameBuffer; 45 | 46 | LogWriter *m_logWriter; 47 | 48 | RfbOutputGate *m_output; 49 | LocalMutex m_outputLock; 50 | }; 51 | 52 | #endif //_UPDATE_REQUEST_SENDER_ 53 | 54 | -------------------------------------------------------------------------------- /viewer-keysym-test/viewer-keysym-test.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Source Files 16 | 17 | 18 | Source Files 19 | 20 | 21 | 22 | 23 | Header Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /win-event-log/MSG00409.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/win-event-log/MSG00409.bin -------------------------------------------------------------------------------- /win-event-log/MessageCompiler.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 5 | Midl 6 | CustomBuild 7 | 8 | 9 | _SelectedFiles;$(MessageCompilerDependsOn) 11 | 12 | 13 | 14 | 15 | 16 | mc.exe -U [AllOptions] [inputs] 17 | %(RcOutDir).rc 18 | 19 | 20 | -------------------------------------------------------------------------------- /win-event-log/MessageCompiler.rules: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 14 | 15 | 21 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /win-event-log/MessageProvider.mc: -------------------------------------------------------------------------------- 1 | ; // Header section. 2 | 3 | 4 | SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS 5 | Informational=0x1:STATUS_SEVERITY_INFORMATIONAL 6 | Warning=0x2:STATUS_SEVERITY_WARNING 7 | Error=0x3:STATUS_SEVERITY_ERROR 8 | ) 9 | 10 | 11 | FacilityNames=(System=0x0:FACILITY_SYSTEM 12 | Runtime=0x2:FACILITY_RUNTIME 13 | Stubs=0x3:FACILITY_STUBS 14 | Io=0x4:FACILITY_IO_ERROR_CODE 15 | ) 16 | 17 | LanguageNames=(English=0x409:MSG00409) 18 | 19 | 20 | ; // The following are the categories of events. 21 | 22 | ; // MessageIdTypedef=WORD 23 | 24 | ; // MessageId=0x1 25 | ; // SymbolicName=ANY_CATEGORY 26 | ; // Language=English 27 | ; // Any Events 28 | ; // . 29 | ; // 30 | 31 | ; // The following are the message definitions. 32 | 33 | MessageIdTypedef=DWORD 34 | 35 | MessageId=0x100 36 | Severity=Success 37 | Facility=Runtime 38 | SymbolicName=MSG_SUCCESS_MESSAGE 39 | Language=English 40 | %1 41 | . 42 | 43 | MessageId=0x101 44 | Severity=Success 45 | Facility=Runtime 46 | SymbolicName=MSG_INFO_MESSAGE 47 | Language=English 48 | %1 49 | . 50 | 51 | MessageId=0x102 52 | Severity=Success 53 | Facility=Runtime 54 | SymbolicName=MSG_WARNING_MESSAGE 55 | Language=English 56 | %1 57 | . 58 | 59 | MessageId=0x103 60 | Severity=Error 61 | Facility=Runtime 62 | SymbolicName=MSG_ERROR_MESSAGE 63 | Language=English 64 | %1 65 | . 66 | 67 | -------------------------------------------------------------------------------- /win-event-log/MessageProvider.rc: -------------------------------------------------------------------------------- 1 | LANGUAGE 0x9,0x1 2 | 1 11 "MSG00409.bin" 3 | -------------------------------------------------------------------------------- /win-event-log/win-event-log.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | 26 | 27 | Resource Files 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | Source Files 36 | 37 | 38 | -------------------------------------------------------------------------------- /win-system/ApplicationCrashEvents.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __APPLICATIONCRASHEVENTS_H__ 26 | #define __APPLICATIONCRASHEVENTS_H__ 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | class ApplicationCrashEvents 31 | { 32 | public: 33 | virtual void onCrash(const StringStorage *dumpPath) = 0; 34 | }; 35 | 36 | #endif // __APPLICATIONCRASHEVENTS_H__ 37 | -------------------------------------------------------------------------------- /win-system/CtrlAltDelSimulator.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __CTRLALTDELSIMULATOR_H__ 26 | #define __CTRLALTDELSIMULATOR_H__ 27 | 28 | #include "thread/Thread.h" 29 | 30 | class CtrlAltDelSimulator : public Thread 31 | { 32 | public: 33 | CtrlAltDelSimulator(); 34 | virtual ~CtrlAltDelSimulator(); 35 | 36 | protected: 37 | virtual void execute(); 38 | }; 39 | 40 | #endif // __CTRLALTDELSIMULATOR_H__ 41 | -------------------------------------------------------------------------------- /win-system/HookEventListener.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "util/CommonHeader.h" 26 | 27 | // Abstract class for next using in WinHooks class and as a base class in others. 28 | class HookEventListener 29 | { 30 | public: 31 | virtual LRESULT onHookProc(int code, WPARAM wParam, LPARAM lParam) = 0; 32 | }; 33 | -------------------------------------------------------------------------------- /win-system/Registry.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2009,2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Registry.h" 26 | 27 | Registry::Registry() 28 | { 29 | } 30 | 31 | Registry::~Registry() 32 | { 33 | } 34 | 35 | HKEY Registry::getCurrentUserKey() 36 | { 37 | return HKEY_CURRENT_USER; 38 | } 39 | 40 | HKEY Registry::getCurrentLocalMachineKey() 41 | { 42 | return HKEY_LOCAL_MACHINE; 43 | } 44 | -------------------------------------------------------------------------------- /win-system/WinCommandLineArgs.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __WINCOMMANDLINEARGS_H__ 26 | #define __WINCOMMANDLINEARGS_H__ 27 | 28 | #include "util/CommandLineArgs.h" 29 | 30 | class WinCommandLineArgs : public CommandLineArgs 31 | { 32 | public: 33 | WinCommandLineArgs(const TCHAR *cmdLineInWinFormat); 34 | virtual ~WinCommandLineArgs(); 35 | }; 36 | 37 | #endif // __WINCOMMANDLINEARGS_H__ 38 | -------------------------------------------------------------------------------- /win-system/WinCursor.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __WINCURSOR_H__ 26 | #define __WINCURSOR_H__ 27 | 28 | #include "region/Point.h" 29 | #include "util/CommonHeader.h" 30 | 31 | class WinCursor 32 | { 33 | public: 34 | WinCursor(); 35 | virtual ~WinCursor(); 36 | 37 | Point getCursorPos() const; 38 | }; 39 | 40 | #endif // __WINCURSOR_H__ 41 | -------------------------------------------------------------------------------- /win-system/WinStaLibrary.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/win-system/WinStaLibrary.h -------------------------------------------------------------------------------- /win-system/WindowsEventEx.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __WINDOWSEVENTEX_H__ 26 | #define __WINDOWSEVENTEX_H__ 27 | 28 | #include "WindowsEvent.h" 29 | 30 | class WindowsEventEx : public WindowsEvent 31 | { 32 | public: 33 | WindowsEventEx(const TCHAR *name = 0); 34 | 35 | protected: 36 | void setAccessToAll(HANDLE objHandle); 37 | }; 38 | 39 | #endif // __WINDOWSEVENT_H__ 40 | -------------------------------------------------------------------------------- /win-system/Workstation.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010,2011,2012 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "Workstation.h" 26 | 27 | void Workstation::lock() 28 | { 29 | if (LockWorkStation() == FALSE) { 30 | throw SystemException(); 31 | } 32 | } 33 | 34 | void Workstation::logOff() 35 | { 36 | if (ExitWindowsEx(EWX_LOGOFF, SHTDN_REASON_MAJOR_APPLICATION) == FALSE) { 37 | throw SystemException(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /win-system/WsaStartup.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #include "WsaStartup.h" 26 | #include "util/Exception.h" 27 | 28 | WsaStartup::WsaStartup(BYTE minorVer, BYTE majorVer) 29 | { 30 | WSAData wsaData; 31 | if (WSAStartup(MAKEWORD(majorVer, minorVer), &wsaData) != 0) { 32 | throw Exception(_T("Failed to initialize WsaStartup.")); 33 | } 34 | } 35 | 36 | WsaStartup::~WsaStartup() 37 | { 38 | WSACleanup(); 39 | } 40 | -------------------------------------------------------------------------------- /win-system/WsaStartup.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2013 GlavSoft LLC. 2 | // All rights reserved. 3 | // 4 | //------------------------------------------------------------------------- 5 | // This file is part of the TightVNC software. Please visit our Web site: 6 | // 7 | // http://www.tightvnc.com/ 8 | // 9 | // This program is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation; either version 2 of the License, or 12 | // (at your option) any later version. 13 | // 14 | // This program is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | // GNU General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU General Public License along 20 | // with this program; if not, write to the Free Software Foundation, Inc., 21 | // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | //------------------------------------------------------------------------- 23 | // 24 | 25 | #ifndef __WSASTARTUP_H__ 26 | #define __WSASTARTUP_H__ 27 | 28 | #include "util/CommonHeader.h" 29 | 30 | // Class that startup at constructor and cleanup at destructor Windows Sockets subsystem. 31 | class WsaStartup 32 | { 33 | public: 34 | WsaStartup(BYTE minorVer, BYTE majorVer); 35 | virtual ~WsaStartup(); 36 | 37 | private: 38 | }; 39 | 40 | #endif // __WSASTARTUP_H__ 41 | -------------------------------------------------------------------------------- /wix-installer/TightVNC Web Site.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=http://www.tightvnc.com/ 3 | -------------------------------------------------------------------------------- /wix-installer/TightVNC-installer.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/wix-installer/TightVNC-installer.odt -------------------------------------------------------------------------------- /wix-installer/buildsources.bat: -------------------------------------------------------------------------------- 1 | call vcvarsall.bat 2 | 3 | vcbuild.exe /rebuild /M%NUMBER_OF_PROCESSORS% "..\..\src\TightVNC.sln" "Release|Win32" 4 | vcbuild.exe /rebuild /M%NUMBER_OF_PROCESSORS% "..\..\src\TightVNC.sln" "Release|x64" 5 | 6 | -------------------------------------------------------------------------------- /wix-installer/files32/sas.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/wix-installer/files32/sas.dll -------------------------------------------------------------------------------- /wix-installer/files64/sas.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/wix-installer/files64/sas.dll -------------------------------------------------------------------------------- /wix-installer/tvnserver.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/wix-installer/tvnserver.ico -------------------------------------------------------------------------------- /wix-installer/vncviewer.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenall/tightvnc/9a71e725330caf9cd4e81d04b364e26a7ed8a89d/wix-installer/vncviewer.ico -------------------------------------------------------------------------------- /zlib/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright notice: 2 | 3 | (C) 1995-2022 Jean-loup Gailly and Mark Adler 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | Jean-loup Gailly Mark Adler 22 | jloup@gzip.org madler@alumni.caltech.edu 23 | -------------------------------------------------------------------------------- /zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | --------------------------------------------------------------------------------