PageData.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. |* NeroSDK / NVAPIExample
  10. |*
  11. |* PROGRAM: PageData.h
  12. |*
  13. |* PURPOSE: Implementation of the class that holds common data to be
  14. |* communicated among pages.
  15. ******************************************************************************/
  16. #ifndef _NVAPIEXAMPLE_PAGE_DATA_H_
  17. #define _NVAPIEXAMPLE_PAGE_DATA_H_
  18. #include "Sheet.h"
  19. #include "ContentResolver.h"
  20. class CPageData
  21. {
  22. public:
  23. CString m_sXML;
  24. const NERO_SCSI_DEVICE_INFO * m_pDeviceInfo;
  25. DWORD m_dwBurnSpeed;
  26. IProject3Ptr m_pProject;
  27. int m_selectedItemIndex;
  28. public:
  29. CPageData ()
  30. : m_pDeviceInfo (NULL)
  31. , m_dwBurnSpeed (0)
  32. , m_selectedItemIndex(-1)
  33. {
  34. try
  35. {
  36. // Create an instance of NeroVisionAPI's Project object.
  37. //
  38. EVAL_HR (m_pProject.CreateInstance (__uuidof (NeroVisionAPI::Project)));
  39. // create content provider, for insert video stream and audio stream
  40. NeroVisionAPI::IContentResolver* resolver = new ContentResolver;
  41. m_pProject->ContentResolver = resolver;
  42. resolver->Release();
  43. }
  44. catch (...)
  45. {
  46. }
  47. }
  48. };
  49. // The following template class adds a function for getting the CPageData
  50. // pointer to each class that derives from it.
  51. //
  52. template<class T>
  53. class CNVAPIExamplePage
  54. {
  55. protected:
  56. CPageData * GetPageData (void)
  57. {
  58. T * pT = (T *) this;
  59. CSheet * pParentSheet = (CSheet *) pT->GetParent ();
  60. return (CPageData *) pParentSheet->GetCommonPageData ();
  61. }
  62. };
  63. #endif