diff options
Diffstat (limited to 'src/libs/client/HTTPClientReceiver.cpp')
-rw-r--r-- | src/libs/client/HTTPClientReceiver.cpp | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/libs/client/HTTPClientReceiver.cpp b/src/libs/client/HTTPClientReceiver.cpp deleted file mode 100644 index ece55ab2..00000000 --- a/src/libs/client/HTTPClientReceiver.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2008 Dave Robillard <http://drobilla.net> - * - * Ingen 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. - * - * Ingen 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 details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <list> -#include <cassert> -#include <cstring> -#include <iostream> -#include <sstream> -#include <raul/AtomLiblo.hpp> -#include "module/Module.hpp" -#include "HTTPClientReceiver.hpp" - -using namespace std; -using namespace Raul; - -namespace Ingen { -namespace Client { - - -HTTPClientReceiver::HTTPClientReceiver( - Shared::World* world, - const std::string& url, - SharedPtr<Shared::ClientInterface> target) - : _target(target) - , _world(world) - , _url(url) - , _session(NULL) -{ - start(false); -} - - -HTTPClientReceiver::~HTTPClientReceiver() -{ - stop(); -} - - -void -HTTPClientReceiver::message_callback(SoupSession* session, SoupMessage* msg, void* ptr) -{ - HTTPClientReceiver* me = (HTTPClientReceiver*)ptr; - cout << "RECEIVED ASYNC MESSAGE: " << msg->response_body->data << endl; - me->_target->response_ok(0); - me->_target->enable(); - me->_parser->parse_string(me->_world, me->_target.get(), Glib::ustring(msg->response_body->data), - Glib::ustring("/"), Glib::ustring("")); -} - - -void -HTTPClientReceiver::start(bool dump) -{ - Glib::Mutex::Lock lock(_world->rdf_world->mutex()); - if (!_parser) { - if (!_world->serialisation_module) - _world->serialisation_module = Ingen::Shared::load_module("ingen_serialisation"); - - if (_world->serialisation_module) { - Parser* (*new_parser)() = NULL; - if (_world->serialisation_module->get_symbol("new_parser", (void*&)new_parser)) - _parser = SharedPtr<Parser>(new_parser()); - } - } - _session = soup_session_async_new(); - SoupMessage* msg = soup_message_new("GET", _url.c_str()); - soup_session_queue_message (_session, msg, message_callback, this); -} - - -void -HTTPClientReceiver::stop() -{ - if (_session != NULL) { - //unregister_client(); - soup_session_abort(_session); - _session = NULL; - } -} - - -} // namespace Client -} // namespace Ingen |