TALKER32.H
上传用户:chinamans
上传日期:2013-03-17
资源大小:202k
文件大小:4k
源码类别:

TAPI编程

开发平台:

Visual C++

  1. // talker32.h : main header file for the TALKER32 application
  2. // (c) Dialogic corp 1995, 1996
  3. //
  4. #ifndef __AFXWIN_H__
  5. #error include 'stdafx.h' before including this file for PCH
  6. #endif
  7. #include "resource.h" // main symbols
  8. #define MAXLINES  16 // Hard-coded maximum number of lines!!!
  9. // keys for searching for Calls
  10. #define KEY_LINE 1
  11. #define KEY_WAVEINHANDLE 2
  12. #define KEY_WAVEOUTHANDLE 3
  13. // Line options
  14. #define AUTOANSWER 0x0001  // answer immed 
  15. #define AUTOPLAY 0x0002 // play immed on connection
  16. #define PLAY_ONCE 0x1000
  17. /////////////////////////////////////////////////////////////////////////////
  18. // CTalkApp:
  19. // See talker32.cpp for the implementation of this class
  20. //
  21. class CTalkApp : public CTapiApp
  22. {
  23. public:
  24. CTalkApp();
  25. // Overrides
  26. // ClassWizard generated virtual function overrides
  27. //{{AFX_VIRTUAL(CTalkApp)
  28. public:
  29. virtual BOOL InitInstance();
  30. virtual int ExitInstance();
  31. //}}AFX_VIRTUAL
  32. // Implementation
  33. public:
  34. virtual void OnLineReply(DWORD dwCallback, DWORD idRequest, DWORD dwStatus);
  35. CTapiLine *GetTapiLine(DWORD dwID)
  36. {return dwID < m_dwLines ? m_ctlLines[dwID] : NULL;}
  37. DWORD cappGetLineDevCaps(DWORD dwLineID, LPLINEDEVCAPS *lppDevCaps)
  38. {if(dwLineID < m_dwLines) return m_ctlLines[dwLineID]->ctlLineGetCaps(lppDevCaps); else return 0xffffffff;}
  39. virtual void NotifyFrontEnd(DWORD dwLineID)
  40. {m_pMainWnd->PostMessage(WM_COMMAND, m_dwTapiAlert, (LPARAM)dwLineID);}
  41. CTapiLine * GetLineByCall(HCALL hCall);
  42. CTapiLine * GetLineByHLine(HLINE hLine);
  43. virtual void OnCallState(HCALL hCall, DWORD hCallback, DWORD dwCallState,
  44. DWORD dwCallStateDetail, DWORD dwCallPrivilege);
  45. virtual void OnLineCallInfo(HCALL hCall, DWORD dwCallBack, DWORD dwParm);
  46. virtual void OnMonitorDigits(HCALL hCall, DWORD dwCallBack, DWORD dwDigit, DWORD dwDigitMode);
  47. virtual void OnGatherDigits(HCALL hCall, DWORD dwCallBack, DWORD dwTermination);
  48. virtual void OnLineDevSpec(DWORD hCall, DWORD dwCallBack, DWORD dwParm1, DWORD dwParm2, DWORD dwParm3);
  49. virtual void OnMonitorMedia(DWORD hCall, DWORD dwCallBack, DWORD dwParm1, DWORD dwParm2, DWORD dwParm3);
  50. virtual LPVOID GetCallByParm(WORD wKey, DWORD dwValue);
  51. virtual void SetNotificationControlID(DWORD dwID) 
  52. {m_dwTapiAlert = dwID;} 
  53. virtual void Cleanup(); // before exit, that is
  54. // public utilities
  55. virtual BOOL Code2CallState(DWORD dwState, LPSTR lpBuf, int nSize);
  56. virtual BOOL Code2Error(DWORD dwError, LPSTR lpBuf, int nSize);
  57. void SetHelpId(int nHelpId) {InterlockedExchange((LPLONG)&m_nHelpId, nHelpId);}
  58. void OnHelp();
  59. public:
  60. WORD m_wLineOptions[MAXLINES];
  61. protected:
  62. CTapiLine *m_ctlLines[MAXLINES]; // just for now; need to implement some kind of a list
  63. DWORD m_dwTapiAlert;
  64. int m_nHelpId;
  65. //{{AFX_MSG(CTalkApp)
  66. // NOTE - the ClassWizard will add and remove member functions here.
  67. //    DO NOT EDIT what you see in these blocks of generated code !
  68. //}}AFX_MSG
  69. DECLARE_MESSAGE_MAP()
  70. };
  71. /////////////////////////////////////////////////////////////////////////////
  72. // CStatusBox dialog
  73. class CStatusBox : public CDialog
  74. {
  75. // Construction
  76. public:
  77. CStatusBox(CWnd* pParent = NULL);   // standard constructor
  78. // Dialog Data
  79. //{{AFX_DATA(CStatusBox)
  80. enum { IDD = IDD_STATUSDLG };
  81. CString m_csStatus;
  82. //}}AFX_DATA
  83. // Overrides
  84. // ClassWizard generated virtual function overrides
  85. //{{AFX_VIRTUAL(CStatusBox)
  86. protected:
  87. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  88. //}}AFX_VIRTUAL
  89. // Implementation
  90. protected:
  91. // Generated message map functions
  92. //{{AFX_MSG(CStatusBox)
  93. virtual BOOL OnInitDialog();
  94. //}}AFX_MSG
  95. DECLARE_MESSAGE_MAP()
  96. };