summaryrefslogtreecommitdiff
path: root/protocols/Omegle/src/process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Omegle/src/process.cpp')
-rw-r--r--protocols/Omegle/src/process.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/protocols/Omegle/src/process.cpp b/protocols/Omegle/src/process.cpp
new file mode 100644
index 0000000000..eb707373ec
--- /dev/null
+++ b/protocols/Omegle/src/process.cpp
@@ -0,0 +1,77 @@
+/*
+
+Omegle plugin for Miranda Instant Messenger
+_____________________________________________
+
+Copyright © 2011-12 Robert Pösel
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "common.h"
+
+void OmegleProto::ProcessEvents( void* data )
+{
+ if ( data == NULL )
+ return;
+
+ std::string* resp = (std::string*)data;
+
+ if ( isOffline() )
+ goto exit;
+
+ LOG("***** Starting processing messages");
+
+ CODE_BLOCK_TRY
+
+ std::vector< Omegle_message* > messages;
+
+ Omegle_json_parser* p = new Omegle_json_parser( this );
+ p->parse_messages( data, &messages );
+ delete p;
+
+ for(std::vector<Omegle_message*>::size_type i=0; i<messages.size( ); i++)
+ {
+ LOG(" Got message: %s", messages[i]->message_text.c_str());
+
+/*
+ PROTORECVEVENT recv = {};
+ CCSDATA ccs = {};
+
+ recv.flags = PREF_UTF;
+ recv.szMessage = const_cast<char*>(messages[i]->message_text.c_str());
+ recv.timestamp = static_cast<DWORD>(messages[i]->time);
+
+ ccs.hContact = hContact;
+ ccs.szProtoService = PSR_MESSAGE;
+ ccs.wParam = ID_STATUS_ONLINE;
+ ccs.lParam = reinterpret_cast<LPARAM>(&recv);
+ CallService(MS_PROTO_CHAINRECV,0,reinterpret_cast<LPARAM>(&ccs));*/
+
+ delete messages[i];
+ }
+ messages.clear();
+
+ LOG("***** Messages processed");
+
+ CODE_BLOCK_CATCH
+
+ LOG("***** Error processing messages: %s", e.what());
+
+ CODE_BLOCK_END
+
+exit:
+ delete resp;
+}