QSProfile.h
上传用户:nameszq
上传日期:2014-08-12
资源大小:336k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. All rights reserved.
  3. */
  4. #if !defined( __NETTS_QSPROFILE_H__ )
  5. #define __NETTS_QSPROFILE_H__
  6. #ifndef STKNET_API
  7. #define STKNET_API
  8. #endif
  9. class STKNET_API CQuoteServer
  10. {
  11. public:
  12. CQuoteServer() { }
  13. CQuoteServer( const CQuoteServer & src )
  14. {
  15. *this = src;
  16. }
  17. virtual ~CQuoteServer() { }
  18. CQuoteServer & operator = ( const CQuoteServer & src )
  19. {
  20. m_strName = src.m_strName;
  21. m_strAddress = src.m_strAddress;
  22. m_nPort = src.m_nPort;
  23. m_strUser = src.m_strUser;
  24. m_strPasswd = src.m_strPasswd;
  25. m_bSavePasswd = src.m_bSavePasswd;
  26. return *this;
  27. }
  28. CString m_strName;
  29. CString m_strAddress;
  30. UINT m_nPort;
  31. CString m_strUser;
  32. CString m_strPasswd;
  33. BOOL m_bSavePasswd;
  34. };
  35. typedef CArray<CQuoteServer, CQuoteServer &> CQuoteServerArray;
  36. /***
  37. Alias a name to another
  38. */
  39. class STKNET_API CAlias
  40. {
  41. public:
  42. CAlias( ) { };
  43. CAlias( const CAlias &src ) { *this = src; }
  44. virtual ~CAlias( ) { };
  45. // virtual operation
  46. CAlias & operator = ( const CAlias & src )
  47. {
  48. m_strName = src.m_strName;
  49. m_strValue = src.m_strValue;
  50. return *this;
  51. }
  52. CString m_strName;
  53. CString m_strValue;
  54. };
  55. typedef CArray<CAlias, CAlias &> CAliasArray;
  56. /***
  57. 关于QuoteServer和Proxy的系统设置
  58. */
  59. class STKNET_API CQSProfile // Quote Server Profile
  60. {
  61. public:
  62. CQSProfile();
  63. virtual ~CQSProfile();
  64. void StoreProfile( );
  65. void LoadProfile( );
  66. BOOL GetCompoundConfig( int & nProxyType, CString & strProxyAddress, UINT & nProxyPort );
  67. int GetAccessType( );
  68. void SetAccessType( int nAccessType );
  69. int GetProxyType( );
  70. void SetProxyType( int nProxyType );
  71. CString GetProxyAddress( );
  72. void SetProxyAddress( LPCTSTR lpszProxyAddress );
  73. WORD GetProxyPort( );
  74. void SetProxyPort( WORD nPort );
  75. CString GetProxyUser( );
  76. void SetProxyUser( LPCTSTR lpszProxyUser );
  77. CString GetProxyPasswd( );
  78. void SetProxyPasswd( LPCTSTR lpszProxyUser );
  79. // Work Directory
  80. CString GetWorkDirectory( );
  81. // QuoteServer
  82. int GetCurrentServerIndex();
  83. CQuoteServer GetCurrentServer();
  84. void SetCurrentServer( int nServer );
  85. BOOL GetCycleConnect();
  86. void SetCycleConnect( BOOL bCycleConnect );
  87. CQuoteServerArray & GetQuoteServers( );
  88. int AddQuoteServers( CQuoteServerArray & aNew );
  89. // alias
  90. BOOL StoreAliases( CAliasArray & aNew );
  91. BOOL LoadAliases( );
  92. CString GetAlias( LPCTSTR lpszName );
  93. protected:
  94. // Proxy
  95. int m_nAccessType;
  96. int m_nProxyType;
  97. CString m_strProxyAddress;
  98. WORD m_nProxyPort;
  99. CString m_strProxyUser;
  100. CString m_strProxyPasswd;
  101. CString m_strWorkDirectory;
  102. // Quote Server
  103. int m_nCurrentServer;
  104. BOOL m_bCycleConnect;
  105. CQuoteServerArray m_aQuoteServers;
  106. CAliasArray m_aAliases;
  107. };
  108. STKNET_API CQSProfile & AfxGetQSProfile();
  109. #endif // __NETTS_QSPROFILE_H__