SapRTProDesign.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef _SAPRTPRO_DESIGN_H_
  2. #define _SAPRTPRO_DESIGN_H_
  3. // SapRTProDesign.h : header file
  4. //
  5. #include "SapClassBasicDef.h"
  6. //for compatibility with older applications.
  7. #define SapRTProDesignInOutParam SapXferMultiNodeParam
  8. //
  9. // SapRTProDesign class declaration
  10. //
  11. class SAPCLASSBASIC_CLASS SapRTProDesign : public SapXferMultiNode
  12. {
  13. public:
  14. public:
  15. // Constructor/Destructor
  16. SapRTProDesign( SapLocation location = SapLocation::ServerSystem,
  17. char* pLabel = NULL,
  18. SapRTProXferNode *pRTPro = NULL,
  19. BOOL bCreateInputOnBrdBuffers = TRUE,
  20. BOOL bCreateOutputOnBrdBuffers = TRUE );
  21. SapRTProDesign(const SapRTProDesign &rtProDesign);
  22. virtual ~SapRTProDesign();
  23. SapRTProDesign &operator=(const SapRTProDesign &rtpro);
  24. //obsolete function to support old RTPro demos.
  25. BOOL CopyClass( const SapRTProDesign *pSrcClass, SapRTProDesign *pDstClass);
  26. SapRTProXferNode *GetRTPro( void) { return m_pRTPro; }
  27. BOOL GetDefaultFirmwareFilename( char *pName, UINT32 size);
  28. BOOL SetDefaultFirmwareFilename( char *pName);
  29. BOOL GetDesignName( char *pName, UINT32 size);
  30. BOOL SetDesignName( char *pName);
  31. BOOL LoadDefaultFirmware( void);
  32. virtual BOOL SetMsgCallbackInfo( SapRTProMsgCallback pCallback, void *context);
  33. //this function must be implemented by the derived class.
  34. virtual BOOL SetCustomDesignParameters( void) { return TRUE;}
  35. SapBuffer* GetInputOnBrdBuffers( int inputIdx);
  36. //must be implemented by derived class
  37. virtual BOOL Create( void);
  38. virtual BOOL Destroy( void);
  39. protected:
  40. BOOL m_bCreateInputOnBrdBuffers;
  41. BOOL m_bCreateOutputOnBrdBuffers;
  42. SapRTProXferNode *m_pRTPro; //realtime pro object.
  43. BOOL m_bOwnRTPro; //true if realtime pro was created internally by this object.
  44. //messaging callback info
  45. SapRTProMsgCallback m_pRTProMsgCallback;
  46. void *m_pMsgContext;
  47. char m_DefaultFirmwareFilename[ SAPRTPRO_MAX_NAME_SIZE];
  48. char m_DesignName[ SAPRTPRO_MAX_NAME_SIZE];
  49. //protected functions.
  50. virtual SAPSTATUS InternalMsgCommand( SapRTProMsgCallbackInfo *pCallbackInfo);
  51. // Internal callback management
  52. static SAPSTATUS CCONV OnRTProMsgCallback( SapRTProMsgCallbackInfo *pCallbackInfo);
  53. virtual BOOL CreateInputResources( void);
  54. virtual BOOL CreateInputResources( int inputIdx);
  55. virtual BOOL CreateOutputResources( void);
  56. virtual BOOL CreateOutputResources( int outputIdx);
  57. virtual BOOL DestroyInputResources( void);
  58. virtual BOOL DestroyInputResources( int inputIdx);
  59. virtual BOOL DestroyOutputResources( void);
  60. virtual BOOL DestroyOutputResources( int outputIdx);
  61. };
  62. #endif // _SAPRTPRO_DESIGN_H_