summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2011-03-16 03:24:16 +0200
committerGluzskiy Alexandr <sss123next@list.ru>2011-03-16 03:24:16 +0200
commit68b8f4ead3b2005856427392bd1a7fd8830ee3a9 (patch)
treea83c98b4298e1fd69ca08b77ec5dd0c521d47803
parent2c8627c6f7c0762c36995028b9d7af346209e2be (diff)
modified: jabber_account.cpp
modified: jabber_account.h modified: utilities.cpp
-rw-r--r--jabber_account.cpp10
-rw-r--r--jabber_account.h4
-rw-r--r--utilities.cpp13
3 files changed, 22 insertions, 5 deletions
diff --git a/jabber_account.cpp b/jabber_account.cpp
index ac5ce24..9dedd56 100644
--- a/jabber_account.cpp
+++ b/jabber_account.cpp
@@ -36,6 +36,10 @@ void JabberAccount::setPrescenseHandler(HJHANDLER hHandler)
{
hPrescenseHandler = hHandler;
}
+void JabberAccount::setMessageHandler(HJHANDLER hHandler)
+{
+ hMessageHandler = hHandler;
+}
TCHAR *JabberAccount::getAccountName()
@@ -59,12 +63,18 @@ HJHANDLER JabberAccount::getPrescenseHandler()
return hPrescenseHandler;
}
+HJHANDLER JabberAccount::getMessageHandler()
+{
+ return hMessageHandler;
+}
+
JabberAccount::JabberAccount()
{
AccountName = NULL;
hSendHandler = INVALID_HANDLE_VALUE;
hPrescenseHandler = INVALID_HANDLE_VALUE;
+ hMessageHandler = INVALID_HANDLE_VALUE;
AccountNumber = -1;
JabberInterface = NULL;
}
diff --git a/jabber_account.h b/jabber_account.h
index 66a8bc1..766f571 100644
--- a/jabber_account.h
+++ b/jabber_account.h
@@ -23,19 +23,21 @@ public:
void setJabberInterface(IJabberInterface *JIf);
void setSendHandler(HJHANDLER hHandler);
void setPrescenseHandler(HJHANDLER hHandler);
+ void setMessageHandler(HJHANDLER hHandler);
TCHAR *getAccountName();
int getAccountNumber();
IJabberInterface *getJabberInterface();
HJHANDLER getSendHandler();
HJHANDLER getPrescenseHandler();
+ HJHANDLER getMessageHandler();
~JabberAccount();
JabberAccount();
private:
TCHAR *AccountName;
int AccountNumber;
IJabberInterface *JabberInterface;
- HJHANDLER hSendHandler, hPrescenseHandler;
+ HJHANDLER hSendHandler, hPrescenseHandler, hMessageHandler;
};
#endif \ No newline at end of file
diff --git a/utilities.cpp b/utilities.cpp
index cf64422..d59a7cb 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -782,6 +782,13 @@ static JABBER_HANDLER_FUNC PrescenseHandler(IJabberInterface *ji, HXML node, voi
return FALSE;
}
+static JABBER_HANDLER_FUNC MessageHandler(IJabberInterface *ji, HXML node, void *pUserData)
+{
+ return FALSE;
+}
+
+
+
void AddHandlers()
{
@@ -792,13 +799,11 @@ void AddHandlers()
if(!(*p))
break;
if((*p)->getSendHandler() == INVALID_HANDLE_VALUE)
- {
(*p)->setSendHandler((*p)->getJabberInterface()->Net()->AddSendHandler((JABBER_HANDLER_FUNC)SendHandler));
- }
if((*p)->getPrescenseHandler() == INVALID_HANDLE_VALUE)
- {
(*p)->setPrescenseHandler((*p)->getJabberInterface()->Net()->AddPresenceHandler((JABBER_HANDLER_FUNC)PrescenseHandler));
- }
+ if((*p)->getMessageHandler() == INVALID_HANDLE_VALUE)
+ (*p)->setMessageHandler((*p)->getJabberInterface()->Net()->AddMessageHandler((JABBER_HANDLER_FUNC)MessageHandler, JABBER_MESSAGE_TYPE_ERROR,0 ,0));
if(bAutoExchange)
{
(*p)->getJabberInterface()->Net()->RegisterFeature(_T("GPG_Key_Auto_Exchange:0"), _T("Indicates that gpg installed and configured to public key auto exchange (currently implemented in new_gpg Miranda IM plugin)"));