Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
4.7 KiB

  1. ////////////////////////////////////////////////////////////////////////////////////////////////////
  2. //----------------------------------------------------
  3. //| NetMeeting Administration Kit Wizard ( NmAkWiz )|
  4. //----------------------------------------------------
  5. //
  6. // This is the controling class for the NetMeeting Administration Kit Wizard. Most of
  7. // this could have been done globally, but it is so much prettier when it is enclosed in a class...
  8. // CNmAkViz objects are not actually created by the user. The only access is provided through the
  9. // static member function DoWizard. All the user has to do is call this single function, like this:
  10. //
  11. //
  12. /////////////
  13. //
  14. // #include "NmAkWiz.h"
  15. //
  16. //
  17. // int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hInstPrev, LPSTR lpCmdLine, int nCmdShow) {
  18. //
  19. // CNmAkWiz::DoWizard( hInstance );
  20. // ExitProcess(0);
  21. // return 0;
  22. // }
  23. //
  24. //
  25. ////////////////////////////////////////////////////////////////////////////////////////////////////
  26. #ifndef __NmAkWiz_h__
  27. #define __NmAkWiz_h__
  28. ////////////////////////////////////////////////////////////////////////////////////////////////////
  29. // Include files
  30. #include "PShtHdr.h"
  31. #include "WelcmSht.h"
  32. #include "SetInSht.h"
  33. #include "SetSht.h"
  34. #include "FileParm.h"
  35. #include "FinishDg.h"
  36. #include "PolData.h"
  37. #include "DSList.h"
  38. #include "Confirm.h"
  39. ////////////////////////////////////////////////////////////////////////////////////////////////////
  40. #pragma warning( disable : 4786 )
  41. #include <map>
  42. using namespace std;
  43. ////////////////////////////////////////////////////////////////////////////////////////////////////
  44. // This is the NetMeeting Resource Deployment Wizard
  45. class CNmAkWiz {
  46. public:
  47. friend class CIntroSheet;
  48. friend class CSettingsSheet;
  49. friend class CCallModeSheet;
  50. friend class CConfirmationSheet;
  51. friend class CDistributionSheet;
  52. friend class CFinishSheet;
  53. friend class CPropertyDataWindow2;
  54. // STATIC Fns
  55. static HRESULT DoWizard( HINSTANCE hInstance );
  56. void CallbackForWhenUserHitsFinishButton( void );
  57. private: // private static Data
  58. static TCHAR ms_InfFilePath[ MAX_PATH ];
  59. static TCHAR ms_InfFileName[ MAX_PATH ];
  60. static TCHAR ms_FileExtractPath[ MAX_PATH ];
  61. static TCHAR ms_ToolsFolder[ MAX_PATH ];
  62. static TCHAR ms_NetmeetingSourceDirectory[ MAX_PATH ];
  63. static TCHAR ms_NetmeetingOutputDirectory[ MAX_PATH ];
  64. static TCHAR ms_NetmeetingOriginalDistributionFilePath[ MAX_PATH ];
  65. static TCHAR ms_NetmeetingOriginalDistributionFileName[ MAX_PATH ];
  66. static TCHAR ms_NMRK_TMP_FolderName[ MAX_PATH ];
  67. public: // DATATYPES
  68. enum eSheetIDs
  69. {
  70. ID_WelcomeSheet = 0,
  71. ID_IntroSheet,
  72. ID_SettingsSheet,
  73. ID_CallModeSheet,
  74. ID_ConfirmationSheet,
  75. ID_DistributionSheet,
  76. ID_FinishSheet,
  77. ID_NumSheets
  78. };
  79. private: // Construction / destruction ( private, so only access is through DoWizard( ... )
  80. CNmAkWiz( void );
  81. ~CNmAkWiz( void );
  82. public: // Data
  83. CPropertySheetHeader m_PropSheetHeader;
  84. CWelcomeSheet m_WelcomeSheet;
  85. CIntroSheet m_IntroSheet;
  86. CSettingsSheet m_SettingsSheet;
  87. CCallModeSheet m_CallModeSheet;
  88. CConfirmationSheet m_ConfirmationSheet;
  89. CDistributionSheet m_DistributionSheet;
  90. CFinishSheet m_FinishSheet;
  91. private:
  92. HANDLE m_hInfFile;
  93. private: // HELPER Fns
  94. void _CreateTextSpew( void );
  95. void _CreateDistro( void );
  96. void _CreateAutoConf( void );
  97. void _CreateFinalAutoConf( void );
  98. void _CreateSettingsFile( void );
  99. BOOL _InitInfFile( void );
  100. BOOL _StoreDialogData( HANDLE hFile );
  101. BOOL _CloseInfFile( void );
  102. BOOL _CreateDistributableFile( CFilePanePropWnd2 *pFilePane );
  103. BOOL _CreateFileDistribution( CFilePanePropWnd2 *pFilePane );
  104. BOOL _DeleteFiles( void );
  105. BOOL _GetNetMeetingOriginalDistributionData( void );
  106. BOOL _NetMeetingOriginalDistributionIsAtSpecifiedLocation( void );
  107. BOOL _ExtractOldNmCabFile( void );
  108. BOOL _CreateNewInfFile( void );
  109. BOOL _SetPathNames( void );
  110. };
  111. extern CNmAkWiz * g_pWiz;
  112. const TCHAR* GetInstallationPath( void );
  113. int NmrkMessageBox(LPCSTR lpText, LPCSTR lpCaption, UINT uType, HWND hwndParent=NULL);
  114. #endif // __NmAkWiz_h__