VNCviewerApp.h
上传用户:sbftbdw
上传日期:2007-01-03
资源大小:379k
文件大小:2k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. //  Copyright (C) 1997, 1998 Olivetti & Oracle Research Laboratory
  2. //
  3. //  This file is part of the VNC system.
  4. //
  5. //  The VNC system is free software; you can redistribute it and/or modify
  6. //  it under the terms of the GNU General Public License as published by
  7. //  the Free Software Foundation; either version 2 of the License, or
  8. //  (at your option) any later version.
  9. //
  10. //  This program is distributed in the hope that it will be useful,
  11. //  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. //  GNU General Public License for more details.
  14. //
  15. //  You should have received a copy of the GNU General Public License
  16. //  along with this program; if not, write to the Free Software
  17. //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
  18. //  USA.
  19. //
  20. // If the source code for the VNC system is not available from the place 
  21. // whence you received this file, check http://www.orl.co.uk/vnc or contact
  22. // the authors on vnc@orl.co.uk for information on obtaining it.
  23. #pragma once
  24. // The state of the application as a whole is contained in the app object
  25. class VNCviewerApp;
  26. // I doubt we'll ever want more simultaneous connections than this
  27. #define MAX_CONNECTIONS 128
  28. #include "ClientConnection.h"
  29. class VNCviewerApp {
  30. public:
  31. VNCviewerApp(HINSTANCE hInstance, LPTSTR szCmdLine);
  32. virtual void NewConnection() = 0;
  33. virtual void NewConnection(TCHAR *host, int port) = 0;
  34. virtual void NewConnection(SOCKET sock) = 0;
  35. ~VNCviewerApp();
  36. // This should be used by Connections to register and deregister 
  37. // themselves.  When the last connection is deregistered, the app
  38. // will close unless in listening mode.
  39. void RegisterConnection(ClientConnection *pConn);
  40. void DeregisterConnection(ClientConnection *pConn);
  41. VNCOptions m_options;
  42. HINSTANCE  m_instance;
  43. private:
  44. ClientConnection *m_clilist[MAX_CONNECTIONS];
  45. omni_mutex m_clilistMutex;
  46. };