// Messenger.cpp : Implementation of CMessenger #include "stdafx.h" #include "Messenger.h" #include "MBAMWnd.h" // CMessenger void CMessenger::SetOwner( void *pOwner ) { m_pOwner = pOwner; } void CMessenger::CleanOwner( ) { m_pOwner = NULL; } STDMETHODIMP CMessenger::OnAMInitData(IDispatch * pDsp, LONG * pbReturn) { if ( pbReturn == NULL ) return E_POINTER; return E_NOTIMPL; } STDMETHODIMP CMessenger::OnAMDestroy(LONG * pbReturn) { if ( pbReturn == NULL ) return E_POINTER; return E_NOTIMPL; } //==================================================== // ½ÓÊÕAMϵͳÏûÏ¢ //==================================================== STDMETHODIMP CMessenger::OnAMReceive(ISTKSysMsg * pSMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; ((CMBAMWnd*)m_pOwner)->GetMessengerPro( )->AMReceive( pSMsg ); return S_OK; } //==================================================== // ½ÓÊÕAMÏûÏ¢ //==================================================== STDMETHODIMP CMessenger::OnAMMsgReceive(ISTKMessage * pMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; CComBSTR bszMsgID; CString strMsgID; long nDownLoad = 0; CMBAMWnd *pSTKDlg = (CMBAMWnd*)m_pOwner; if ( !pSTKDlg ) return S_FALSE; pMsg->get_MsgID( &bszMsgID ); strMsgID.Format(_T("%s"),(LPCTSTR)(_bstr_t)bszMsgID); pMsg->IsDownloaded( false, &nDownLoad ); if ( nDownLoad == 0 ) { //if ( pSTKDlg->GetSTKBaseDBMgr()->ExistSpOpenMsgID( strMsgID ) ) // return true; // end modify } pSTKDlg->GetMessengerPro( )->AMMsgReceive( pMsg ); return S_OK; } //==================================================== // ½ÓÊչܵÀµÇ¼ÏûÏ¢ //==================================================== STDMETHODIMP CMessenger::OnAMSignIn(AMSIGNINSTATE State, BSTR bszLoginName, LONG nErrCode) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) CString strLog; strLog.Format(_T("CMessenger::OnAMSignIn %d "),State ); //CSTKCommFun::WriteLog(strLog); if ( !m_pOwner ) return S_FALSE; ((CMBAMWnd*)m_pOwner)->AMSigninNotify(State, nErrCode ); return S_OK; } STDMETHODIMP CMessenger::OnAMError(long nErrCode, long nTrID, BSTR bszParam) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) CString strParam; strParam.Format(_T("%s"),(LPCTSTR)(_bstr_t)bszParam); /*CString strLog; strLog.Format(_T("CMessenger::OnAMError (%d ) %s"),nErrCode, strParam ); CSTKCommFun::WriteLog(strLog);*/ if ( !m_pOwner ) return S_FALSE; ((CMBAMWnd*)m_pOwner)->GetMessengerPro( )->AMError( nErrCode, nTrID, strParam ); return S_OK; } STDMETHODIMP CMessenger::OnAMConnectError(LONG nErrCode) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) CString strLog; strLog.Format(_T("CMessenger::OnAMConnectError (%d )"),nErrCode ); //CSTKCommFun::WriteLog(strLog); if ( !m_pOwner ) return S_FALSE; ((CMBAMWnd*)m_pOwner)->GetMessengerPro( )->AMConnectError( nErrCode ); return S_OK; } STDMETHODIMP CMessenger::OnAMNtyReceive(ISTKSysMsg* pSMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; ((CMBAMWnd*)m_pOwner)->GetMessengerPro( )->AMNtyReceive( pSMsg ); return S_OK; } STDMETHODIMP CMessenger::OnAMLoadView() { return S_FALSE; } STDMETHODIMP CMessenger::OnAMViewLoadChild() { return S_FALSE; } STDMETHODIMP CMessenger::OnAMViewItemLoadChild() { return S_FALSE; } STDMETHODIMP CMessenger::OnAMMeetNtyReceive(ISTKSysMsg * pSMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; //if ( IsWindow( m_pOwner->GetSafeHwnd() ) ) // ((CSTKDlg*)m_pOwner)->GetMessengerPro( )->AMMeetNtyReceive( pSMsg ); return S_OK; } STDMETHODIMP CMessenger::OnAMMeetReceive(ISTKSysMsg* pSMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; // if ( IsWindow( m_pOwner->GetSafeHwnd() ) ) // ((CSTKDlg*)m_pOwner)->GetMessengerPro( )->AMMeetReceive( pSMsg ); return S_OK; } STDMETHODIMP CMessenger::OnAMMeetMsgReceive(ISTKMessage* pMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; //if ( IsWindow( m_pOwner->GetSafeHwnd() ) ) // ((CSTKDlg*)m_pOwner)->GetMessengerPro( )->AMMeetMsgReceive( pMsg ); return S_OK; } STDMETHODIMP CMessenger::OnAMMeetConnectClosed(BSTR bszMeetID) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; CString strMeetID; strMeetID.Format(_T("%s"),(LPCTSTR)(_bstr_t)bszMeetID); //if ( IsWindow( m_pOwner->GetSafeHwnd() ) ) // ((CSTKDlg*)m_pOwner)->GetMessengerPro( )->AMMeetConnectClosed( strMeetID ); return S_OK; } STDMETHODIMP CMessenger::OnAMMeetError(long nErrCode, BSTR bszMeetID, long nTrID) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) if ( !m_pOwner ) return S_FALSE; CString strMeetID; strMeetID.Format(_T("%s"),(LPCTSTR)(_bstr_t)bszMeetID); // if ( IsWindow( m_pOwner->GetSafeHwnd() ) ) // ((CSTKDlg*)m_pOwner)->GetMessengerPro( )->AMMeetError( nErrCode, strMeetID, nTrID ); return S_OK; } STDMETHODIMP CMessenger::Challenges() { return S_OK; } STDMETHODIMP CMessenger::OnSubAddInMsgReceive(BSTR sAddInName, ISTKMessage *pMsg) { // AFX_MANAGE_STATE(AfxGetStaticModuleState()) CString strAddInName; BOOL bReturn = false; if ( !m_pOwner ) return S_FALSE; /*if ( !IsWindow( m_pOwner->GetSafeHwnd() ) ) return S_FALSE; strAddInName.Format(_T("%s"),(LPCTSTR)(_bstr_t)sAddInName); bReturn = ((CSTKMainDlg*)m_pOwner)->GetAddInPro( )->AMSubAddInMsgReceive( strAddInName, pMsg ); if ( !bReturn ) return S_FALSE; else*/ return S_OK; } STDMETHODIMP CMessenger::OnESCmdReceive(ISTKParam * pParam, long * pnData) { return S_FALSE; } STDMETHODIMP CMessenger::OnAMHook(ISTKParam * pParam, long * pnReturn) { return S_FALSE; }