Vault
4.1
|
00001 /* 00002 Copyright c1997-2014 Trygve Isaacson. All rights reserved. 00003 This file is part of the Code Vault version 4.1 00004 http://www.bombaydigital.com/ 00005 License: MIT. See LICENSE.md in the Vault top level directory. 00006 */ 00007 00008 #ifndef vserver_h 00009 #define vserver_h 00010 00013 #include "vmessage.h" 00014 #include "vclientsession.h" 00015 00020 class VSocket; 00021 class VListenerThread; 00022 00028 class VServer { 00029 public: 00030 00031 VServer(); 00032 virtual ~VServer() {} 00033 00040 virtual void addClientSession(VClientSessionPtr session); 00046 virtual void removeClientSession(VClientSessionPtr session); 00057 virtual void postBroadcastMessage(const VString& clientType, VMessagePtr message, VClientSessionConstPtr omitSession) = 0; 00058 00059 protected: 00060 00061 VClientSessionList mSessions; 00062 mutable VMutex mSessionsMutex; 00063 }; 00064 00065 #endif /* vserver_h */