1 // $Id: MyXmlConfig.h 679 2012-02-09 23:29:53Z felfert $ 2 // 3 // Copyright (C) 2006 The OpenNX Team 4 // Author: Fritz Elfert 5 // 6 // This program is free software; you can redistribute it and/or modify 7 // it under the terms of the GNU Library General Public License as 8 // published by the Free Software Foundation; either version 2 of the 9 // License, or (at your option) any later version. 10 // 11 // This program is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 // 16 // You should have received a copy of the GNU Library General Public 17 // License along with this program; if not, write to the 18 // Free Software Foundation, Inc., 19 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 // 21 22 #ifndef _MYXMLCONFIG_H_ 23 #define _MYXMLCONFIG_H_ 24 25 #if defined(__GNUG__) && !defined(__APPLE__) 26 #pragma interface "MyXmlConfig.cpp" 27 #endif 28 29 #include <wx/dynarray.h> 30 #include <wx/string.h> 31 #include <wx/object.h> 32 33 #include "WinShare.h" 34 35 class wxXmlNode; 36 37 class ShareGroup : public wxObject 38 { DECLARE_DYNAMIC_CLASS(ShareGroup)39 DECLARE_DYNAMIC_CLASS(ShareGroup) 40 41 public: 42 ShareGroup() : wxObject() {m_eType = SharedResource::SHARE_UNKNOWN; } ~ShareGroup()43 virtual ~ShareGroup() {} 44 45 bool operator ==(const ShareGroup &); 46 bool operator !=(const ShareGroup &); 47 wxString toString(); 48 49 bool m_bDefault; // CUPS only 50 bool m_bPublic; // CUPS only 51 SharedResource::ShareType m_eType; 52 wxString m_sGroupName; 53 wxString m_sAlias; // SMB Only 54 wxString m_sDriver; // CUPS Only 55 wxString m_sPassword; 56 wxString m_sShareName; 57 wxString m_sUsername; 58 }; 59 60 WX_DECLARE_OBJARRAY(ShareGroup, ArrayOfShareGroups); 61 62 class USBDevice; 63 64 class SharedUsbDevice : public wxObject 65 { 66 DECLARE_DYNAMIC_CLASS(SharedUsbDevice) 67 68 public: 69 typedef enum { 70 MODE_UNKNOWN = 0, 71 MODE_LOCAL, 72 MODE_REMOTE, 73 } Mode; 74 SharedUsbDevice()75 SharedUsbDevice() : wxObject() { m_eMode = MODE_UNKNOWN; } ~SharedUsbDevice()76 virtual ~SharedUsbDevice() {} 77 wxString toShortString(); 78 bool cmpNoMode(const SharedUsbDevice &); 79 bool operator ==(const SharedUsbDevice &); 80 bool operator !=(const SharedUsbDevice &); 81 bool MatchHotplug(const USBDevice &); 82 83 Mode m_eMode; 84 wxString m_sVendor; 85 wxString m_sProduct; 86 wxString m_sSerial; 87 int m_iClass; 88 int m_iVendorID; 89 int m_iProductID; 90 }; 91 92 WX_DECLARE_OBJARRAY(SharedUsbDevice, ArrayOfUsbForwards); 93 94 class MyXmlConfig 95 { 96 public: 97 typedef enum { 98 SPEED_MODEM = 0, 99 SPEED_ISDN, 100 SPEED_ADSL, 101 SPEED_WAN, 102 SPEED_LAN, 103 } ConnectionSpeed; 104 105 typedef enum { 106 STYPE_UNIX = 0, 107 STYPE_WINDOWS, 108 STYPE_VNC, 109 STYPE_SHADOW, 110 } SessionType; 111 112 typedef enum { 113 DTYPE_ANY = -3, 114 DTYPE_RDP = -2, 115 DTYPE_RFB = -1, 116 DTYPE_KDE = 0, 117 DTYPE_GNOME, 118 DTYPE_CDE, 119 DTYPE_XFCE, 120 DTYPE_XDM, 121 DTYPE_CUSTOM, 122 } DesktopType; 123 124 typedef enum { 125 DPTYPE_640x480 = 0, 126 DPTYPE_800x600, 127 DPTYPE_1024x768, 128 DPTYPE_AVAILABLE, 129 DPTYPE_FULLSCREEN, 130 DPTYPE_CUSTOM, 131 DPTYPE_REMOTE, 132 } DisplayType; 133 134 typedef enum { 135 CACHEMEM_0MB = 0, 136 CACHEMEM_1MB, 137 CACHEMEM_2MB, 138 CACHEMEM_4MB, 139 CACHEMEM_8MB, 140 CACHEMEM_16MB, 141 CACHEMEM_32MB, 142 CACHEMEM_64MB, 143 CACHEMEM_128MB, 144 } CacheMemory; 145 146 typedef enum CacheDisk { 147 CACHEDISK_0MB = 0, 148 CACHEDISK_4MB, 149 CACHEDISK_8MB, 150 CACHEDISK_16MB, 151 CACHEDISK_32MB, 152 CACHEDISK_64MB, 153 CACHEDISK_128MB, 154 CACHEDISK_256MB, 155 CACHEDISK_512MB, 156 } CacheDisk; 157 158 typedef enum XdmMode { 159 XDM_MODE_SERVER, 160 XDM_MODE_QUERY, 161 XDM_MODE_BROADCAST, 162 XDM_MODE_LIST, 163 } XdmMode; 164 165 MyXmlConfig(); 166 MyXmlConfig(const wxString &); 167 virtual ~MyXmlConfig(); 168 169 MyXmlConfig &operator =(const MyXmlConfig &); 170 bool operator ==(const MyXmlConfig &); 171 172 void saveState(); 173 bool checkChanged(); 174 bool SaveToFile(); 175 bool LoadFromFile(const wxString &); 176 bool LoadFromURL(const wxString &); 177 bool LoadFromString(const wxString &, bool); 178 179 wxString sGetSessionParams(const long, bool, const wxString &); 180 wxString sGetListParams(const long); 181 wxString sGetProxyParams(const long); 182 #ifdef __WXMSW__ 183 wxString sGetXserverParams(bool forNXWin); 184 #endif 185 IsValid()186 bool IsValid() { return m_bValid; } IsWritable()187 bool IsWritable() { return m_bWritable; } WasOldConfig()188 bool WasOldConfig() { return m_bOldConfig; } 189 bGetDisableBackingstore()190 bool bGetDisableBackingstore() { return m_bDisableBackingstore; } bGetDisableComposite()191 bool bGetDisableComposite() { return m_bDisableComposite; } bGetDisableRender()192 bool bGetDisableRender() { return m_bDisableRender; } bGetDisableShmem()193 bool bGetDisableShmem() { return m_bDisableShmem; } bGetDisableShpix()194 bool bGetDisableShpix() { return m_bDisableShpix; } bGetDisableTaint()195 bool bGetDisableTaint() { return m_bDisableTaint; } bGetDisableTcpNoDelay()196 bool bGetDisableTcpNoDelay() { return m_bDisableTcpNoDelay; } bGetDisableXagent()197 bool bGetDisableXagent() { return m_bDisableXagent; } bGetDisableZlibCompression()198 bool bGetDisableZlibCompression() { return m_bDisableZlibCompression; } bGetEnableMultimedia()199 bool bGetEnableMultimedia() { return m_bEnableMultimedia; } bGetEnableSmbSharing()200 bool bGetEnableSmbSharing() { return m_bEnableSmbSharing; } bGetEnableSSL()201 bool bGetEnableSSL() { return m_bEnableSSL; } bGetExternalProxy()202 bool bGetExternalProxy() { return m_bExternalProxy; } bGetGuestMode()203 bool bGetGuestMode() { return m_bGuestMode; } bGetKbdLayoutOther()204 bool bGetKbdLayoutOther() { return m_bKbdLayoutOther; } bGetProxyPassRemember()205 bool bGetProxyPassRemember() { return m_bProxyPassRemember; } bGetRdpCache()206 bool bGetRdpCache() { return m_bRdpCache; } bGetRdpRememberPassword()207 bool bGetRdpRememberPassword() { return m_bRdpRememberPassword; } bGetRdpRunApplication()208 bool bGetRdpRunApplication() { return m_bRdpRunApplication; } bGetRememberPassword()209 bool bGetRememberPassword() { return m_bRememberPassword || m_bGuestMode; } bGetRemoveOldSessionFiles()210 bool bGetRemoveOldSessionFiles() { return m_bRemoveOldSessionFiles; } bGetRunConsole()211 bool bGetRunConsole() { return m_bRunConsole; } bGetRunXclients()212 bool bGetRunXclients() { return m_bRunXclients; } bGetUseCups()213 bool bGetUseCups() { return m_bUseCups; } bGetUseCustomImageEncoding()214 bool bGetUseCustomImageEncoding() { return m_bUseCustomImageEncoding; } bGetUseProxy()215 bool bGetUseProxy() { return m_bUseProxy; } bGetUseSmartCard()216 bool bGetUseSmartCard() { return m_bUseSmartCard; } bGetVirtualDesktop()217 bool bGetVirtualDesktop() { return m_bVirtualDesktop; } bGetVncRememberPassword()218 bool bGetVncRememberPassword() { return m_bVncRememberPassword; } bGetVncUseNxAuth()219 bool bGetVncUseNxAuth() { return m_bVncUseNxAuth; } bGetEnableUSBIP()220 bool bGetEnableUSBIP() { return m_bEnableUSBIP; } bGetDisableDirectDraw()221 bool bGetDisableDirectDraw() { return m_bDisableDirectDraw; } bGetDisableDeferredUpdates()222 bool bGetDisableDeferredUpdates() { return m_bDisableDeferredUpdates; } bGetGrabKeyboard()223 bool bGetGrabKeyboard() { return m_bGrabKeyboard; } 224 eGetConnectionSpeed()225 MyXmlConfig::ConnectionSpeed eGetConnectionSpeed() { return m_eConnectionSpeed; } eGetDesktopType()226 MyXmlConfig::DesktopType eGetDesktopType() { return m_eDesktopType; } eGetDisplayType()227 MyXmlConfig::DisplayType eGetDisplayType() { return m_eDisplayType; } eGetSessionType()228 MyXmlConfig::SessionType eGetSessionType() { return m_eSessionType; } eGetCacheMemory()229 MyXmlConfig::CacheMemory eGetCacheMemory() { return m_eCacheMemory; } eGetCacheDisk()230 MyXmlConfig::CacheDisk eGetCacheDisk() { return m_eCacheDisk; } eGetXdmMode()231 MyXmlConfig::XdmMode eGetXdmMode() { return m_eXdmMode; } 232 iGetClipFilter()233 int iGetClipFilter() { return m_iClipFilter; } iGetCupsPort()234 int iGetCupsPort() { return m_iCupsPort; } iGetDisplayHeight()235 int iGetDisplayHeight() { return m_iDisplayHeight; } iGetDisplayWidth()236 int iGetDisplayWidth() { return m_iDisplayWidth; } iGetImageEncoding()237 int iGetImageEncoding() { return m_iImageEncoding; } iGetJpegQuality()238 int iGetJpegQuality() { return m_iJpegQuality; } iGetProxyPort()239 int iGetProxyPort() { return m_iProxyPort; } iGetRdpAuthType()240 int iGetRdpAuthType() { return m_iRdpAuthType; } iGetRdpColors()241 int iGetRdpColors() { return m_iRdpColors; } iGetRdpImageEncoding()242 int iGetRdpImageEncoding() { return m_iRdpImageEncoding; } iGetRdpJpegQuality()243 int iGetRdpJpegQuality() { return m_iRdpJpegQuality; } iGetServerPort()244 int iGetServerPort() { return m_iServerPort; } iGetSmbPort()245 int iGetSmbPort() { return m_iSmbPort; } iGetUsedShareGroups()246 int iGetUsedShareGroups() { return m_iUsedShareGroups; } iGetVncDisplayNumber()247 int iGetVncDisplayNumber() { return m_iVncDisplayNumber; } iGetVncImageEncoding()248 int iGetVncImageEncoding() { return m_iVncImageEncoding; } iGetVncJpegQuality()249 int iGetVncJpegQuality() { return m_iVncJpegQuality; } iGetXdmBroadcastPort()250 int iGetXdmBroadcastPort() { return m_iXdmBroadcastPort; } iGetXdmListPort()251 int iGetXdmListPort() { return m_iXdmListPort; } iGetXdmQueryPort()252 int iGetXdmQueryPort() { return m_iXdmQueryPort; } 253 sGetCommandLine()254 wxString sGetCommandLine() { return m_sCommandLine; } sGetCupsPath()255 wxString sGetCupsPath() { return m_sCupsPath; } sGetFileName()256 wxString sGetFileName() { return m_sFileName; } sGetGuestUser()257 wxString sGetGuestUser() { return m_sGuestUser; } sGetGuestPassword()258 wxString sGetGuestPassword() { return m_sGuestPassword; } sGetKbdLayoutLanguage()259 wxString sGetKbdLayoutLanguage() { return m_sKbdLayoutLanguage; } sGetName()260 wxString sGetName() { return m_sName; } sGetPassword()261 wxString sGetPassword() { return m_sPassword; } sGetProxyCommand()262 wxString sGetProxyCommand() { return m_sProxyCommand; } sGetProxyHost()263 wxString sGetProxyHost() { return m_sProxyHost; } sGetProxyPass()264 wxString sGetProxyPass() { return m_sProxyPass; } sGetProxyUser()265 wxString sGetProxyUser() { return m_sProxyUser; } sGetRdpApplication()266 wxString sGetRdpApplication() { return m_sRdpApplication; } sGetRdpDomain()267 wxString sGetRdpDomain() { return m_sRdpDomain; } sGetRdpHostName()268 wxString sGetRdpHostName() { return m_sRdpHostName; } sGetRdpPassword()269 wxString sGetRdpPassword() { return m_sRdpPassword; } sGetRdpUsername()270 wxString sGetRdpUsername() { return m_sRdpUsername; } sGetServerHost()271 wxString sGetServerHost() { return m_sServerHost; } sGetSshKey()272 wxString sGetSshKey() { return m_sSshKey; } sGetUsername()273 wxString sGetUsername() { return m_sUsername; } sGetVncHostName()274 wxString sGetVncHostName() { return m_sVncHostName; } sGetVncPassword()275 wxString sGetVncPassword() { return m_sVncPassword; } sGetXdmListHost()276 wxString sGetXdmListHost() { return m_sXdmListHost; } sGetXdmQueryHost()277 wxString sGetXdmQueryHost() { return m_sXdmQueryHost; } 278 279 // For use by MySession 280 wxString sGetSessionUser(); 281 wxString sGetSessionPassword(); 282 aGetUsedShareGroups()283 wxArrayString aGetUsedShareGroups() { return m_aUsedShareGroups; } aGetShareGroups()284 ArrayOfShareGroups aGetShareGroups() { return m_aShareGroups; } aGetUsbForwards()285 ArrayOfUsbForwards aGetUsbForwards() { return m_aUsbForwards; } 286 bSetDisableBackingstore(const bool b)287 void bSetDisableBackingstore(const bool b) { m_bDisableBackingstore = b; } bSetDisableComposite(const bool b)288 void bSetDisableComposite(const bool b) { m_bDisableComposite = b; } bSetDisableRender(const bool b)289 void bSetDisableRender(const bool b) { m_bDisableRender = b; } bSetDisableShmem(const bool b)290 void bSetDisableShmem(const bool b) { m_bDisableShmem = b; } bSetDisableShpix(const bool b)291 void bSetDisableShpix(const bool b) { m_bDisableShpix = b; } bSetDisableTaint(const bool b)292 void bSetDisableTaint(const bool b) { m_bDisableTaint = b; } bSetDisableTcpNoDelay(const bool b)293 void bSetDisableTcpNoDelay(const bool b) { m_bDisableTcpNoDelay = b; } bSetDisableXagent(const bool b)294 void bSetDisableXagent(const bool b) { m_bDisableXagent = b; } bSetDisableZlibCompression(const bool b)295 void bSetDisableZlibCompression(const bool b) { m_bDisableZlibCompression = b; } bSetEnableMultimedia(const bool b)296 void bSetEnableMultimedia(const bool b) { m_bEnableMultimedia = b; } bSetEnableSmbSharing(const bool b)297 void bSetEnableSmbSharing(const bool b) { m_bEnableSmbSharing = b; } bSetEnableSSL(const bool b)298 void bSetEnableSSL(const bool b) { m_bEnableSSL = b; } bSetExternalProxy(const bool b)299 void bSetExternalProxy(const bool b) { m_bExternalProxy = b; } bSetGuestMode(const bool b)300 void bSetGuestMode(const bool b) { m_bGuestMode = b; } bSetKbdLayoutOther(const bool b)301 void bSetKbdLayoutOther(const bool b) { m_bKbdLayoutOther = b; } bSetProxyPassRemember(const bool b)302 void bSetProxyPassRemember(const bool b) { m_bProxyPassRemember = b; } bSetRdpCache(const bool b)303 void bSetRdpCache(const bool b) { m_bRdpCache = b; } bSetRdpRememberPassword(const bool b)304 void bSetRdpRememberPassword(const bool b) { m_bRdpRememberPassword = b; } bSetRdpRunApplication(const bool b)305 void bSetRdpRunApplication(const bool b) { m_bRdpRunApplication = b; } bSetRememberPassword(const bool b)306 void bSetRememberPassword(const bool b) { m_bRememberPassword = b; } bSetRemoveOldSessionFiles(const bool b)307 void bSetRemoveOldSessionFiles(const bool b) { m_bRemoveOldSessionFiles = b; } bSetRunConsole(const bool b)308 void bSetRunConsole(const bool b) { m_bRunConsole = b; } bSetRunXclients(const bool b)309 void bSetRunXclients(const bool b) { m_bRunXclients = b; } bSetUseCups(const bool b)310 void bSetUseCups(const bool b) { m_bUseCups = b; } bSetUseCustomImageEncoding(const bool b)311 void bSetUseCustomImageEncoding(const bool b) { m_bUseCustomImageEncoding = b; } bSetUseProxy(const bool b)312 void bSetUseProxy(const bool b) { m_bUseProxy = b; } bSetUseSmartCard(const bool b)313 void bSetUseSmartCard(const bool b) { m_bUseSmartCard = b; } bSetVirtualDesktop(const bool b)314 void bSetVirtualDesktop(const bool b) { m_bVirtualDesktop = b; } bSetVncRememberPassword(const bool b)315 void bSetVncRememberPassword(const bool b) { m_bVncRememberPassword = b; } bSetVncUseNxAuth(const bool b)316 void bSetVncUseNxAuth(const bool b) { m_bVncUseNxAuth = b; } bSetEnableUSBIP(const bool b)317 void bSetEnableUSBIP(const bool b) { m_bEnableUSBIP = b; } bSetDisableDirectDraw(const bool b)318 void bSetDisableDirectDraw(const bool b) { m_bDisableDirectDraw = b; } bSetDisableDeferredUpdates(const bool b)319 void bSetDisableDeferredUpdates(const bool b) { m_bDisableDeferredUpdates = b; } bSetGrabKeyboard(const bool b)320 void bSetGrabKeyboard(const bool b) { m_bGrabKeyboard = b; } 321 eSetCacheDisk(MyXmlConfig::CacheDisk e)322 void eSetCacheDisk(MyXmlConfig::CacheDisk e) { m_eCacheDisk = e; } eSetCacheMemory(MyXmlConfig::CacheMemory e)323 void eSetCacheMemory(MyXmlConfig::CacheMemory e) { m_eCacheMemory = e; } eSetConnectionSpeed(MyXmlConfig::ConnectionSpeed e)324 void eSetConnectionSpeed(MyXmlConfig::ConnectionSpeed e) { m_eConnectionSpeed = e; } eSetDesktopType(MyXmlConfig::DesktopType e)325 void eSetDesktopType(MyXmlConfig::DesktopType e) { m_eDesktopType = e; } eSetDisplayType(MyXmlConfig::DisplayType e)326 void eSetDisplayType(MyXmlConfig::DisplayType e) { m_eDisplayType = e; } eSetSessionType(MyXmlConfig::SessionType e)327 void eSetSessionType(MyXmlConfig::SessionType e) { m_eSessionType = e; } eSetXdmMode(MyXmlConfig::XdmMode e)328 void eSetXdmMode(MyXmlConfig::XdmMode e) { m_eXdmMode = e; } 329 iSetClipFilter(int i)330 void iSetClipFilter(int i) { m_iClipFilter = i; } iSetCupsPort(int i)331 void iSetCupsPort(int i) { m_iCupsPort = i; } iSetDisplayHeight(int i)332 void iSetDisplayHeight(int i) { m_iDisplayHeight = i; } iSetDisplayWidth(int i)333 void iSetDisplayWidth(int i) { m_iDisplayWidth = i; } iSetImageEncoding(int i)334 void iSetImageEncoding(int i) { m_iImageEncoding = i; } iSetJpegQuality(int i)335 void iSetJpegQuality(int i) { m_iJpegQuality = i; } iSetProxyPort(int i)336 void iSetProxyPort(int i) { m_iProxyPort = i; } iSetRdpAuthType(int i)337 void iSetRdpAuthType(int i) { m_iRdpAuthType = i; } iSetRdpColors(int i)338 void iSetRdpColors(int i) { m_iRdpColors = i; } iSetRdpImageEncoding(int i)339 void iSetRdpImageEncoding(int i) { m_iRdpImageEncoding = i; } iSetRdpJpegQuality(int i)340 void iSetRdpJpegQuality(int i) { m_iRdpJpegQuality = i; } iSetServerPort(int i)341 void iSetServerPort(int i) { m_iServerPort = i; } iSetSmbPort(int i)342 void iSetSmbPort(int i) { m_iSmbPort = i; } iSetUsedShareGroups(int i)343 void iSetUsedShareGroups(int i) { m_iUsedShareGroups = i; } iSetVncDisplayNumber(int i)344 void iSetVncDisplayNumber(int i) { m_iVncDisplayNumber = i; } iSetVncImageEncoding(int i)345 void iSetVncImageEncoding(int i) { m_iVncImageEncoding = i; } iSetVncJpegQuality(int i)346 void iSetVncJpegQuality(int i) { m_iVncJpegQuality = i; } iSetXdmBroadcastPort(int i)347 void iSetXdmBroadcastPort(int i) { m_iXdmBroadcastPort = i; } iSetXdmListPort(int i)348 void iSetXdmListPort(int i) { m_iXdmListPort = i; } iSetXdmQueryPort(int i)349 void iSetXdmQueryPort(int i) { m_iXdmQueryPort = i; } 350 sSetCommandLine(const wxString & s)351 void sSetCommandLine(const wxString &s) { m_sCommandLine = s; } sSetCupsPath(const wxString & s)352 void sSetCupsPath(const wxString &s) { m_sCupsPath = s; } sSetFileName(const wxString & s)353 void sSetFileName(const wxString &s) { m_sFileName = s; } sSetGuestUser(const wxString & s)354 void sSetGuestUser(const wxString &s) { m_sGuestUser = s; } sSetGuestPassword(const wxString & s)355 void sSetGuestPassword(const wxString &s) { m_sGuestPassword = s; } sSetKbdLayoutLanguage(const wxString & s)356 void sSetKbdLayoutLanguage(const wxString &s) { m_sKbdLayoutLanguage = s; } sSetName(const wxString & s)357 void sSetName(const wxString &s) { m_sName = s; } sSetPassword(const wxString & s)358 void sSetPassword(const wxString &s) { m_sPassword = s; } sSetProxyCommand(const wxString & s)359 void sSetProxyCommand(const wxString &s) { m_sProxyCommand = s; } sSetProxyHost(const wxString & s)360 void sSetProxyHost(const wxString &s) { m_sProxyHost = s; } sSetProxyPass(const wxString & s)361 void sSetProxyPass(const wxString &s) { m_sProxyPass = s; } sSetProxyUser(const wxString & s)362 void sSetProxyUser(const wxString &s) { m_sProxyUser = s; } sSetRdpApplication(const wxString & s)363 void sSetRdpApplication(const wxString &s) { m_sRdpApplication = s; } sSetRdpDomain(const wxString & s)364 void sSetRdpDomain(const wxString &s) { m_sRdpDomain = s; } sSetRdpHostName(const wxString & s)365 void sSetRdpHostName(const wxString &s) { m_sRdpHostName = s; } sSetRdpPassword(const wxString & s)366 void sSetRdpPassword(const wxString &s) { m_sRdpPassword = s; } sSetRdpUsername(const wxString & s)367 void sSetRdpUsername(const wxString &s) { m_sRdpUsername = s; } sSetServerHost(const wxString & s)368 void sSetServerHost(const wxString &s) { m_sServerHost = s; } sSetSshKey(const wxString & s)369 void sSetSshKey(const wxString &s) { m_sSshKey = s; } sSetVncHostName(const wxString & s)370 void sSetVncHostName(const wxString &s) { m_sVncHostName = s; } sSetVncPassword(const wxString & s)371 void sSetVncPassword(const wxString &s) { m_sVncPassword = s; } sSetXdmListHost(const wxString & s)372 void sSetXdmListHost(const wxString &s) { m_sXdmListHost = s; } sSetXdmQueryHost(const wxString & s)373 void sSetXdmQueryHost(const wxString &s) { m_sXdmQueryHost = s; } 374 aSetShareGroups(const ArrayOfShareGroups & a)375 void aSetShareGroups(const ArrayOfShareGroups &a) { m_aShareGroups = a; } aSetUsedShareGroups(const wxArrayString & a)376 void aSetUsedShareGroups(const wxArrayString &a) { m_aUsedShareGroups = a; } aSetUsbForwards(const ArrayOfUsbForwards & a)377 void aSetUsbForwards(const ArrayOfUsbForwards &a) { m_aUsbForwards = a; } 378 379 void sSetUsername(const wxString &s); 380 381 static wxString UrlEsc(const wxString &s); 382 383 private: 384 static size_t CurlWriteCallback(void *, size_t, size_t, void *); 385 386 private: 387 // Disable copy constructor 388 MyXmlConfig(const MyXmlConfig &); 389 390 void init(); 391 bool getBool(wxXmlNode *, const wxString &, bool defval = false); 392 long getLong(wxXmlNode *, const wxString &, long defval = 0); 393 bool getLongBool(wxXmlNode *, const wxString &, bool defval = false); 394 wxString getString(wxXmlNode *, const wxString &, const wxString &defval = _T("")); 395 wxString getPassword(wxXmlNode *, const wxString &, const wxString &defval = _T("")); 396 wxString *getStringNew(wxXmlNode *, const wxString &, wxString *defval = NULL); 397 bool cmpShareGroups(const ArrayOfShareGroups, const ArrayOfShareGroups); 398 bool cmpUsbForwards(const ArrayOfUsbForwards, const ArrayOfUsbForwards); 399 bool cmpUsedShareGroups(const wxArrayString, const wxArrayString); 400 ShareGroup &findShare(const wxString &); 401 void bAddOption(wxXmlNode *, const wxString &, const bool); 402 void iAddOption(wxXmlNode *, const wxString &, const long); 403 void iAddOptionBool(wxXmlNode *, const wxString &, const bool); 404 void sAddOption(wxXmlNode *, const wxString &, const wxString &); 405 wxXmlNode *AddGroup(wxXmlNode *, const wxString &); 406 bool loadFromStream(wxInputStream &is, bool); 407 void getDesktopSize(int &dw, int &dh, int &ww, int &wh); 408 409 // Special: This gets set, if a pre 0.16.173 "Images" section was detected 410 // during reading. If this is set, we inform the user, suggesting a re-check 411 // of his image settings. 412 bool m_bOldConfig; 413 414 bool m_bDisableBackingstore; 415 bool m_bDisableComposite; 416 bool m_bDisableRender; 417 bool m_bDisableShmem; 418 bool m_bDisableShpix; 419 bool m_bDisableTaint; 420 bool m_bDisableTcpNoDelay; 421 bool m_bDisableXagent; 422 bool m_bDisableZlibCompression; 423 bool m_bEnableMultimedia; 424 bool m_bEnableSmbSharing; 425 bool m_bEnableSSL; 426 bool m_bEnableUSBIP; 427 bool m_bExternalProxy; 428 bool m_bGuestMode; 429 bool m_bKbdLayoutOther; 430 bool m_bProxyPassRemember; 431 bool m_bRdpCache; 432 bool m_bRdpRememberPassword; 433 bool m_bRdpRunApplication; 434 bool m_bWritable; 435 bool m_bRememberPassword; 436 bool m_bRemoveOldSessionFiles; 437 bool m_bRunConsole; 438 bool m_bRunXclients; 439 bool m_bUseCups; 440 bool m_bUseCustomImageEncoding; 441 bool m_bUseProxy; 442 bool m_bUseSmartCard; 443 bool m_bValid; 444 bool m_bVirtualDesktop; 445 bool m_bVncRememberPassword; 446 bool m_bVncUseNxAuth; 447 bool m_bDisableDirectDraw; 448 bool m_bGrabKeyboard; 449 bool m_bDisableDeferredUpdates; 450 451 int m_iCupsPort; 452 int m_iDisplayHeight; 453 int m_iDisplayWidth; 454 int m_iImageEncoding; 455 int m_iJpegQuality; 456 int m_iProxyPort; 457 int m_iRdpAuthType; 458 int m_iRdpColors; 459 int m_iRdpImageEncoding; 460 int m_iRdpJpegQuality; 461 int m_iServerPort; 462 int m_iSmbPort; 463 int m_iUsedShareGroups; 464 int m_iVncDisplayNumber; 465 int m_iVncImageEncoding; 466 int m_iVncJpegQuality; 467 int m_iXdmBroadcastPort; 468 int m_iXdmListPort; 469 int m_iXdmQueryPort; 470 int m_iClipFilter; 471 472 wxString m_sCommandLine; 473 wxString m_sCupsPath; 474 wxString m_sFileName; 475 wxString m_sGuestPassword; 476 wxString m_sGuestUser; 477 wxString m_sKbdLayoutLanguage; 478 wxString m_sName; 479 wxString m_sPassword; 480 wxString m_sProxyCommand; 481 wxString m_sProxyHost; 482 wxString m_sProxyPass; 483 wxString m_sProxyUser; 484 wxString m_sRdpApplication; 485 wxString m_sRdpDomain; 486 wxString m_sRdpHostName; 487 wxString m_sRdpPassword; 488 wxString m_sRdpUsername; 489 wxString m_sServerHost; 490 wxString m_sSshKey; 491 wxString m_sUsername; 492 wxString m_sVncHostName; 493 wxString m_sVncPassword; 494 wxString m_sXdmListHost; 495 wxString m_sXdmQueryHost; 496 497 ConnectionSpeed m_eConnectionSpeed; 498 DesktopType m_eDesktopType; 499 DisplayType m_eDisplayType; 500 SessionType m_eSessionType; 501 CacheMemory m_eCacheMemory; 502 CacheDisk m_eCacheDisk; 503 XdmMode m_eXdmMode; 504 505 ArrayOfShareGroups m_aShareGroups; 506 wxArrayString m_aUsedShareGroups; 507 ArrayOfUsbForwards m_aUsbForwards; 508 509 MyXmlConfig *saved; 510 wxString *m_pMd5Password; 511 wxString *m_pClrPassword; 512 }; 513 514 #endif 515 // _MYXMLCONFIG_H_ 516