neroFiddlesDlg.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /******************************************************************************
  2. |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. |* PARTICULAR PURPOSE.
  6. |*
  7. |* Copyright 1995-2005 Nero AG. All Rights Reserved.
  8. |*-----------------------------------------------------------------------------
  9. |* PROJECT: NeroFiddles NeroAPI Example
  10. |*
  11. |* FILE: NeroFiddlesDlg.h
  12. |*
  13. |* PURPOSE: Declaration file for the user interaction dialog.
  14. ******************************************************************************/
  15. #if !defined(AFX_NEROFIDDLESDLG_H__78BE85B9_87B6_11D4_8056_00105ABB05E6__INCLUDED_)
  16. #define AFX_NEROFIDDLESDLG_H__78BE85B9_87B6_11D4_8056_00105ABB05E6__INCLUDED_
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif // _MSC_VER > 1000
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CNeroFiddlesDlg dialog
  22. class CNeroFiddlesDlg : public CDialog
  23. {
  24. // Construction
  25. public:
  26. static void NERO_CALLBACK_ATTR SetPhaseCallback (void* pUserData, const char* text);
  27. static void NERO_CALLBACK_ATTR AddLogLine(void* pUserData, NERO_TEXT_TYPE type, const char* text);
  28. static BOOL NERO_CALLBACK_ATTR AbortedCallback (void* pUserData);
  29. static BOOL NERO_CALLBACK_ATTR ProgressCallback (void* pUserData, DWORD dwProgressInPercent);
  30. static NeroUserDlgInOut NERO_CALLBACK_ATTR UserDialog(void* pUserData, NeroUserDlgInOut type, void* data);
  31. static BOOL NERO_CALLBACK_ATTR IdleCallback (void* pUserData);
  32. CNeroFiddlesDlg(CWnd* pParent = NULL); // standard constructor
  33. // Dialog Data
  34. //{{AFX_DATA(CNeroFiddlesDlg)
  35. enum { IDD = IDD_NEROFIDDLES_DIALOG };
  36. CButton m_chkbxClose;
  37. CButton m_chkbxImport;
  38. CButton m_chkbxAudio;
  39. CButton m_btnRemove;
  40. CListBox m_lstFileList;
  41. CButton m_OK;
  42. CButton m_Cancel;
  43. CButton m_btnAbort;
  44. CProgressCtrl m_pgsProgress;
  45. CEdit m_edtMessages;
  46. CComboBox m_cbxDevices;
  47. CButton m_btnBurn;
  48. CButton m_btnBrowse;
  49. //}}AFX_DATA
  50. // ClassWizard generated virtual function overrides
  51. //{{AFX_VIRTUAL(CNeroFiddlesDlg)
  52. protected:
  53. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  54. //}}AFX_VIRTUAL
  55. // Implementation
  56. protected:
  57. HICON m_hIcon;
  58. // Generated message map functions
  59. //{{AFX_MSG(CNeroFiddlesDlg)
  60. virtual BOOL OnInitDialog();
  61. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  62. afx_msg void OnPaint();
  63. afx_msg HCURSOR OnQueryDragIcon();
  64. afx_msg void OnBrowse();
  65. afx_msg void OnBurn();
  66. virtual void OnOK();
  67. virtual void OnCancel();
  68. afx_msg void OnAbort();
  69. afx_msg void OnRemove();
  70. afx_msg void OnSelchangeFilelist();
  71. afx_msg void OnAudio();
  72. afx_msg void OnImport();
  73. //}}AFX_MSG
  74. DECLARE_MESSAGE_MAP()
  75. private:
  76. void AppendString(CString str);
  77. void NeroAPIInit();
  78. void NeroAPIFree();
  79. BOOL MergeIsoTracks(NERO_ISO_ITEM** ppniiTarget, NERO_ISO_ITEM* pniiToAdd);
  80. void DeleteIsoItemTree(NERO_ISO_ITEM* pniiItem);
  81. void FreeOurOwnResources(NERO_ISO_ITEM* pniiItem);
  82. private:
  83. char m_pcImage [256];
  84. bool m_bAborted;
  85. NERO_SETTINGS m_nsSettings;
  86. char m_pcLanguageFile [128];
  87. char m_pcSoftware [128];
  88. char m_pcVendor [128];
  89. char m_pcNeroFilesPath [128];
  90. char m_pcDriveName [128];
  91. FILE* m_pFile;
  92. NERO_ISO_ITEM* m_pniiFile;
  93. NERO_WRITE_CD* m_pnwcWriteCD;
  94. NERO_PROGRESS m_npProgress;
  95. NERO_SCSI_DEVICE_INFOS* m_pndiDeviceInfos;
  96. NERO_DEVICEHANDLE m_ndhDeviceHandle;
  97. CString m_strPathName;
  98. CString m_strFileName;
  99. };
  100. //{{AFX_INSERT_LOCATION}}
  101. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  102. #endif // !defined(AFX_NEROFIDDLESDLG_H__78BE85B9_87B6_11D4_8056_00105ABB05E6__INCLUDED_)