#pragma once
#include "afxcmn.h"
#include "afxwin.h"

#include <vector>
#include "HwmAgentCallback.h"

// demoMainMenuDlg 对话框
#define ID_MEETING_RCLICK_MENU_1        (WM_USER + 1) 
#define ID_MEETING_RCLICK_MENU_10        (WM_USER + 10) 
class demoMainMenuDlg : public CDialogEx
{
    DECLARE_DYNAMIC(demoMainMenuDlg)

public:
    demoMainMenuDlg(CWnd* pParent = NULL);   // 标准构造函数
    virtual ~demoMainMenuDlg();

// 对话框数据
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_MAIN_MENU_DIALOG };
#endif

protected:
    // 生成的消息映射函数
    virtual BOOL OnInitDialog();
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

    DECLARE_MESSAGE_MAP()
public:
    CEdit m_editMainOutput;
    bool m_bTracking;

public:
    afx_msg void OnBnClickedCreateConf();
    afx_msg void OnBnClickedJoinConf();
    afx_msg LRESULT logoutCallBack(WPARAM wParam, LPARAM lParam);
    afx_msg void OnBnClickedLogout();
    afx_msg void OnBnClickedJoinConfByLink();
    afx_msg void OnBnClickedButtonSetting();
    afx_msg void OnBnClickedButtonGoConfCtrl();
    afx_msg void OnBnClickedBookConf();
    afx_msg void OnBnClickedGetConfList();
    afx_msg void OnBnClickedEditVmrInfo();
	// 显示外部会议信息框
    afx_msg LRESULT OnShowExternalConfInfoWnd(WPARAM wParam, LPARAM lParam);
	// 销毁外部会议信息框
    afx_msg LRESULT OnDestroyExternalConfInfoWnd(WPARAM wParam, LPARAM lParam);
    void UpdateOutput();

    afx_msg void OnTimer(UINT_PTR nIDEvent);
    afx_msg void OnBnClickedSetIncomingAnswerType();
    afx_msg void OnBnClickedGetUserState2();
    afx_msg void OnBnClickedWindowHandle();
    afx_msg void OnBnClickedSetAudioRawData();
    afx_msg void OnBnClickedUploadSelfAvatar();
private:
    bool isOpenAudioRawData = false;        // 是否开启音频码流
public:
    afx_msg void OnBnClickedButtonStartP2pconf();
    afx_msg void OnBnClickedDeleteSelfAvatar();
    afx_msg void OnBnClickedButtonShowToast();
    afx_msg void OnBnClickedButtonGetMainWindowInfo();
    afx_msg void OnBnClickedButtonStartProjection();
    afx_msg void OnBnClickedButtonCustomSceneContent();
    afx_msg void OnBnClickedButtonCustomSceneImage();
    afx_msg void OnBnClickedButtonAcceptConf();
    afx_msg void OnBnClickedButtonRejectConf();
    afx_msg void OnBnClickedGetLoginState2();
    afx_msg void OnBnClickedGetLoginToken();
};
