diff options
author | David Robillard <d@drobilla.net> | 2012-05-09 16:38:49 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-05-09 16:38:49 +0000 |
commit | ffdf4624323af943a2f3f7241fa87d97afc50460 (patch) | |
tree | e6faffb9d979cba055bde24d1957420abdea851a /src/http/HTTPEngineSender.cpp | |
parent | 6932da9169a38a5a8eafc63357b9ede00cb46117 (diff) | |
download | ingen-ffdf4624323af943a2f3f7241fa87d97afc50460.tar.gz ingen-ffdf4624323af943a2f3f7241fa87d97afc50460.tar.bz2 ingen-ffdf4624323af943a2f3f7241fa87d97afc50460.zip |
Remove old HTTP and OSC stuff.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4329 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/http/HTTPEngineSender.cpp')
-rw-r--r-- | src/http/HTTPEngineSender.cpp | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/src/http/HTTPEngineSender.cpp b/src/http/HTTPEngineSender.cpp deleted file mode 100644 index 39de6f41..00000000 --- a/src/http/HTTPEngineSender.cpp +++ /dev/null @@ -1,197 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2012 David Robillard <http://drobilla.net/> - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or 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 Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <libsoup/soup.h> - -#include "raul/AtomRDF.hpp" -#include "raul/log.hpp" -#include "sord/sordmm.hpp" - -#include "ingen/shared/World.hpp" -#include "HTTPEngineSender.hpp" -#include "HTTPClientReceiver.hpp" - -#define LOG(s) s << "[HTTPEngineSender] " - -using namespace std; -using namespace Raul; - -namespace Ingen { - -using namespace Shared; - -namespace Client { - -HTTPEngineSender::HTTPEngineSender(World* world, - const URI& engine_url, - SharedPtr<Raul::Deletable> receiver) - : _receiver(PtrCast<HTTPClientReceiver>(receiver)) - , _world(*world->rdf_world()) - , _engine_url(engine_url) - , _id(0) - , _enabled(true) -{ - assert(_receiver); - _session = soup_session_sync_new(); -} - -HTTPEngineSender::~HTTPEngineSender() -{ - soup_session_abort(_session); -} - -void -HTTPEngineSender::attach(int32_t ping_id, bool block) -{ - LOG(debug) << "Attaching to " << _engine_url << endl; - SoupMessage* msg = soup_message_new("GET", _engine_url.c_str()); - soup_session_queue_message(_session, msg, - HTTPClientReceiver::message_callback, _receiver.get()); -} - -/* *** ServerInterface implementation below here *** */ - -/** Register with the engine via HTTP. - * - * Note that this does not actually use 'key', since the engine creates - * it's own key for HTTP clients (namely the incoming URL), for NAT - * traversal. It is a parameter to remain compatible with ServerInterface. - */ -void -HTTPEngineSender::register_client(ClientInterface* client) -{ - /*SoupMessage* msg = soup_message_new("GET", (_engine_url.str() + "/stream").c_str()); - HTTPClientReceiver::send(msg);*/ -} - -void -HTTPEngineSender::unregister_client(const URI& uri) -{ -} - -// Object commands - -void -HTTPEngineSender::put(const URI& uri, - const Resource::Properties& properties, - Resource::Graph ctx) -{ - const string path = (uri.substr(0, 6) == "path:/") ? uri.substr(6) : uri.str(); - const string full_uri = _engine_url.str() + "/" + path; - - Sord::Model model(_world); - for (Resource::Properties::const_iterator i = properties.begin(); i != properties.end(); ++i) - model.add_statement(Sord::URI(_world, path), - AtomRDF::atom_to_node(model, i->first), - AtomRDF::atom_to_node(model, i->second)); - - const string str = model.write_to_string(""); - SoupMessage* msg = soup_message_new(SOUP_METHOD_PUT, full_uri.c_str()); - assert(msg); - soup_message_set_request(msg, "application/x-turtle", SOUP_MEMORY_COPY, str.c_str(), str.length()); - soup_session_send_message(_session, msg); -} - -void -HTTPEngineSender::delta(const Raul::URI& path, - const Resource::Properties& remove, - const Resource::Properties& add) -{ - LOG(warn) << "TODO: HTTP delta" << endl; -} - -void -HTTPEngineSender::move(const Path& old_path, - const Path& new_path) -{ - SoupMessage* msg = soup_message_new(SOUP_METHOD_MOVE, - (_engine_url.str() + old_path.str()).c_str()); - soup_message_headers_append(msg->request_headers, "Destination", - (_engine_url.str() + new_path.str()).c_str()); - soup_session_send_message(_session, msg); -} - -void -HTTPEngineSender::del(const URI& uri) -{ - const string path = (uri.substr(0, 6) == "path:/") ? uri.substr(6) : uri.str(); - const string full_uri = _engine_url.str() + "/" + path; - SoupMessage* msg = soup_message_new(SOUP_METHOD_DELETE, full_uri.c_str()); - soup_session_send_message(_session, msg); -} - -void -HTTPEngineSender::connect(const Path& src_port_path, - const Path& dst_port_path) -{ - LOG(warn) << "TODO: HTTP connect" << endl; -} - -void -HTTPEngineSender::disconnect(const URI& src, - const URI& dst) -{ - LOG(warn) << "TODO: HTTP disconnect" << endl; -} - -void -HTTPEngineSender::disconnect_all(const Path& parent_patch_path, - const Path& path) -{ - LOG(warn) << "TODO: HTTP disconnect_all" << endl; -} - -void -HTTPEngineSender::set_property(const URI& subject, - const URI& predicate, - const Atom& value) -{ - Resource::Properties prop; - prop.insert(make_pair(predicate, value)); - put(subject, prop); -} - -// Requests // - -void -HTTPEngineSender::ping() -{ - LOG(debug) << "Ping " << _engine_url << endl; - get(_engine_url); -} - -void -HTTPEngineSender::get(const URI& uri) -{ - if (!Raul::Path::is_path(uri) && uri.scheme() != "http" && uri.scheme() != "ingen") { - LOG(warn) << "Ignoring GET of non-HTTP URI " << uri << endl; - return; - } - - const std::string request_uri = (Raul::Path::is_path(uri)) - ?_engine_url.str() + "/patch" + uri.substr(uri.find("/")) - : uri.str(); - cout << "Get " << request_uri << endl; - LOG(debug) << "Get " << request_uri << endl; - SoupMessage* msg = soup_message_new("GET", request_uri.c_str()); - soup_session_queue_message(_session, msg, - HTTPClientReceiver::message_callback, _receiver.get()); - -} - -} // namespace Client -} // namespace Ingen - |