diff options
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/ClientBroadcaster.cpp | 6 | ||||
-rw-r--r-- | src/engine/ClientBroadcaster.hpp | 2 | ||||
-rw-r--r-- | src/engine/HTTPClientSender.cpp | 32 | ||||
-rw-r--r-- | src/engine/HTTPClientSender.hpp | 6 | ||||
-rw-r--r-- | src/engine/OSCClientSender.cpp | 8 | ||||
-rw-r--r-- | src/engine/OSCClientSender.hpp | 6 | ||||
-rw-r--r-- | src/engine/OSCEngineReceiver.cpp | 23 | ||||
-rw-r--r-- | src/engine/OSCEngineReceiver.hpp | 5 | ||||
-rw-r--r-- | src/engine/QueuedEngineInterface.cpp | 10 | ||||
-rw-r--r-- | src/engine/QueuedEngineInterface.hpp | 6 | ||||
-rw-r--r-- | src/engine/events.hpp | 4 | ||||
-rw-r--r-- | src/engine/events/DeleteEvent.cpp (renamed from src/engine/events/DestroyEvent.cpp) | 12 | ||||
-rw-r--r-- | src/engine/events/DeleteEvent.hpp (renamed from src/engine/events/DestroyEvent.hpp) | 15 | ||||
-rw-r--r-- | src/engine/events/MoveEvent.cpp (renamed from src/engine/events/RenameEvent.cpp) | 14 | ||||
-rw-r--r-- | src/engine/events/MoveEvent.hpp (renamed from src/engine/events/RenameEvent.hpp) | 14 | ||||
-rw-r--r-- | src/engine/wscript | 8 |
16 files changed, 91 insertions, 80 deletions
diff --git a/src/engine/ClientBroadcaster.cpp b/src/engine/ClientBroadcaster.cpp index 6fca9b17..beb08f22 100644 --- a/src/engine/ClientBroadcaster.cpp +++ b/src/engine/ClientBroadcaster.cpp @@ -135,7 +135,7 @@ void ClientBroadcaster::send_destroyed(const Path& path) { for (Clients::const_iterator i = _clients.begin(); i != _clients.end(); ++i) - (*i).second->destroy(path); + (*i).second->del(path); } @@ -223,10 +223,10 @@ ClientBroadcaster::send_object(const GraphObjectImpl* p, bool recursive) /** Sends notification of an GraphObject's renaming */ void -ClientBroadcaster::send_rename(const Path& old_path, const Path& new_path) +ClientBroadcaster::send_move(const Path& old_path, const Path& new_path) { for (Clients::const_iterator i = _clients.begin(); i != _clients.end(); ++i) - (*i).second->rename(old_path, new_path); + (*i).second->move(old_path, new_path); } diff --git a/src/engine/ClientBroadcaster.hpp b/src/engine/ClientBroadcaster.hpp index 18d7647f..a207b6d7 100644 --- a/src/engine/ClientBroadcaster.hpp +++ b/src/engine/ClientBroadcaster.hpp @@ -68,7 +68,7 @@ public: void send_clear_patch(const Raul::Path& patch_path); void send_connection(const SharedPtr<const ConnectionImpl> connection); void send_disconnection(const Raul::Path& src_port_path, const Raul::Path& dst_port_path); - void send_rename(const Raul::Path& old_path, const Raul::Path& new_path); + void send_move(const Raul::Path& old_path, const Raul::Path& new_path); void send_variable_change(const Raul::URI& node_path, const Raul::URI& key, const Raul::Atom& value); void send_property_change(const Raul::URI& node_path, const Raul::URI& key, const Raul::Atom& value); void send_port_value(const Raul::Path& port_path, const Raul::Atom& value); diff --git a/src/engine/HTTPClientSender.cpp b/src/engine/HTTPClientSender.cpp index b3fd1bc0..83d3f1b2 100644 --- a/src/engine/HTTPClientSender.cpp +++ b/src/engine/HTTPClientSender.cpp @@ -50,15 +50,15 @@ HTTPClientSender::error(const std::string& msg) void -HTTPClientSender::put(const Raul::Path& path, - const Shared::Resource::Properties& properties) +HTTPClientSender::put(const Path& path, + const Shared::Resource::Properties& properties) { cerr << "HTTP CLIENT PUT " << path << endl; } void -HTTPClientSender::destroy(const Raul::Path& path) +HTTPClientSender::del(const Path& path) { assert(!path.is_root()); send_chunk(string("<").append(path.str()).append("> a <http://www.w3.org/2002/07/owl#Nothing> .")); @@ -66,14 +66,14 @@ HTTPClientSender::destroy(const Raul::Path& path) void -HTTPClientSender::clear_patch(const Raul::Path& patch_path) +HTTPClientSender::clear_patch(const Path& patch_path) { send_chunk(string("<").append(patch_path.str()).append("> ingen:empty true .")); } void -HTTPClientSender::connect(const Raul::Path& src_path, const Raul::Path& dst_path) +HTTPClientSender::connect(const Path& src_path, const Path& dst_path) { string msg = string( "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n" @@ -87,14 +87,14 @@ HTTPClientSender::connect(const Raul::Path& src_path, const Raul::Path& dst_path void -HTTPClientSender::disconnect(const Raul::Path& src_path, const Raul::Path& dst_path) +HTTPClientSender::disconnect(const Path& src_path, const Path& dst_path) { //send("/ingen/disconnection", "ss", src_path.c_str(), dst_path.c_str(), LO_ARGS_END); } void -HTTPClientSender::set_variable(const Raul::URI& path, const Raul::URI& key, const Atom& value) +HTTPClientSender::set_variable(const URI& path, const URI& key, const Atom& value) { Redland::Node node = AtomRDF::atom_to_node(*_engine.world()->rdf_world, value); string msg = string( @@ -109,7 +109,7 @@ HTTPClientSender::set_variable(const Raul::URI& path, const Raul::URI& key, cons void -HTTPClientSender::set_property(const Raul::URI& path, const Raul::URI& key, const Atom& value) +HTTPClientSender::set_property(const URI& path, const URI& key, const Atom& value) { Redland::Node node = AtomRDF::atom_to_node(*_engine.world()->rdf_world, value); string msg = string( @@ -125,7 +125,7 @@ HTTPClientSender::set_property(const Raul::URI& path, const Raul::URI& key, cons void -HTTPClientSender::set_port_value(const Raul::Path& port_path, const Raul::Atom& value) +HTTPClientSender::set_port_value(const Path& port_path, const Atom& value) { Redland::Node node = AtomRDF::atom_to_node(*_engine.world()->rdf_world, value); string msg = string( @@ -136,17 +136,17 @@ HTTPClientSender::set_port_value(const Raul::Path& port_path, const Raul::Atom& void -HTTPClientSender::set_voice_value(const Raul::Path& port_path, uint32_t voice, const Raul::Atom& value) +HTTPClientSender::set_voice_value(const Path& port_path, uint32_t voice, const Atom& value) { /*lo_message m = lo_message_new(); lo_message_add_string(m, port_path.c_str()); - Raul::AtomLiblo::lo_message_add_atom(m, value); + AtomLiblo::lo_message_add_atom(m, value); send_message("/ingen/set_port_value", m);*/ } void -HTTPClientSender::activity(const Raul::Path& path) +HTTPClientSender::activity(const Path& path) { string msg = string( "@prefix ingen: <http://drobilla.net/ns/ingen#> .\n\n<").append( @@ -174,9 +174,9 @@ HTTPClientSender::new_object(const Shared::GraphObject* object) void -HTTPClientSender::new_plugin(const Raul::URI& uri, - const Raul::URI& type_uri, - const Raul::Symbol& symbol) +HTTPClientSender::new_plugin(const URI& uri, + const URI& type_uri, + const Symbol& symbol) { /*lo_message m = lo_message_new(); lo_message_add_string(m, uri.c_str()); @@ -188,7 +188,7 @@ HTTPClientSender::new_plugin(const Raul::URI& uri, void -HTTPClientSender::rename(const Raul::Path& old_path, const Raul::Path& new_path) +HTTPClientSender::move(const Path& old_path, const Path& new_path) { string msg = string( "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n" diff --git a/src/engine/HTTPClientSender.hpp b/src/engine/HTTPClientSender.hpp index e4a88112..fb045194 100644 --- a/src/engine/HTTPClientSender.hpp +++ b/src/engine/HTTPClientSender.hpp @@ -83,10 +83,10 @@ public: virtual void clear_patch(const Raul::Path& path); - virtual void destroy(const Raul::Path& path); + virtual void del(const Raul::Path& path); - virtual void rename(const Raul::Path& old_path, - const Raul::Path& new_path); + virtual void move(const Raul::Path& old_path, + const Raul::Path& new_path); virtual void connect(const Raul::Path& src_port_path, const Raul::Path& dst_port_path); diff --git a/src/engine/OSCClientSender.cpp b/src/engine/OSCClientSender.cpp index 55a42e9f..c0a6b85b 100644 --- a/src/engine/OSCClientSender.cpp +++ b/src/engine/OSCClientSender.cpp @@ -133,7 +133,7 @@ OSCClientSender::put(const Raul::Path& path, * \arg \b path (string) - Path of object (which no longer exists) </p> \n \n */ void -OSCClientSender::destroy(const Path& path) +OSCClientSender::del(const Path& path) { send("/ingen/destroyed", "s", path.c_str(), LO_ARGS_END); } @@ -274,14 +274,14 @@ OSCClientSender::new_plugin(const URI& uri, /** \page client_osc_namespace - * <p> \b /ingen/rename - Notification of an object's renaming + * <p> \b /ingen/move - Notification of an object's renaming * \arg \b old-path (string) - Old path of object * \arg \b new-path (string) - New path of object </p> \n \n */ void -OSCClientSender::rename(const Path& old_path, const Path& new_path) +OSCClientSender::move(const Path& old_path, const Path& new_path) { - send("/ingen/rename", "ss", old_path.c_str(), new_path.c_str(), LO_ARGS_END); + send("/ingen/move", "ss", old_path.c_str(), new_path.c_str(), LO_ARGS_END); } diff --git a/src/engine/OSCClientSender.hpp b/src/engine/OSCClientSender.hpp index b66ff59d..4a0742eb 100644 --- a/src/engine/OSCClientSender.hpp +++ b/src/engine/OSCClientSender.hpp @@ -80,10 +80,10 @@ public: virtual void clear_patch(const Raul::Path& path); - virtual void destroy(const Raul::Path& path); + virtual void del(const Raul::Path& path); - virtual void rename(const Raul::Path& old_path, - const Raul::Path& new_path); + virtual void move(const Raul::Path& old_path, + const Raul::Path& new_path); virtual void connect(const Raul::Path& src_port_path, const Raul::Path& dst_port_path); diff --git a/src/engine/OSCEngineReceiver.cpp b/src/engine/OSCEngineReceiver.cpp index 37a8132a..28509ad7 100644 --- a/src/engine/OSCEngineReceiver.cpp +++ b/src/engine/OSCEngineReceiver.cpp @@ -93,10 +93,9 @@ OSCEngineReceiver::OSCEngineReceiver(Engine& engine, size_t queue_size, uint16_t lo_server_add_method(_server, "/ingen/set_polyphony", "isi", set_polyphony_cb, this); lo_server_add_method(_server, "/ingen/set_polyphonic", "isT", set_polyphonic_cb, this); lo_server_add_method(_server, "/ingen/set_polyphonic", "isF", set_polyphonic_cb, this); - lo_server_add_method(_server, "/ingen/new_port", "issi", new_port_cb, this); - lo_server_add_method(_server, "/ingen/put", NULL, new_port_cb, this); - lo_server_add_method(_server, "/ingen/destroy", "is", destroy_cb, this); - lo_server_add_method(_server, "/ingen/rename", "iss", rename_cb, this); + lo_server_add_method(_server, "/ingen/put", NULL, put_cb, this); + lo_server_add_method(_server, "/ingen/move", "iss", move_cb, this); + lo_server_add_method(_server, "/ingen/del", "is", del_cb, this); lo_server_add_method(_server, "/ingen/connect", "iss", connect_cb, this); lo_server_add_method(_server, "/ingen/disconnect", "iss", disconnect_cb, this); lo_server_add_method(_server, "/ingen/disconnect_all", "iss", disconnect_all_cb, this); @@ -366,18 +365,18 @@ OSCEngineReceiver::_engine_deactivate_cb(const char* path, const char* types, lo /** \page engine_osc_namespace - * <p> \b /ingen/rename - Rename an Object (only Nodes, for now) + * <p> \b /ingen/move - Move (rename) an Object * \arg \b response-id (integer) * \arg \b old-path - Object's path * \arg \b new-path - Object's new path </p> \n \n */ int -OSCEngineReceiver::_rename_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) +OSCEngineReceiver::_move_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) { const char* old_path = &argv[1]->s; const char* new_path = &argv[2]->s; - rename(old_path, new_path); + move(old_path, new_path); return 0; } @@ -398,16 +397,16 @@ OSCEngineReceiver::_clear_patch_cb(const char* path, const char* types, lo_arg** /** \page engine_osc_namespace - * <p> \b /ingen/destroy - Removes (destroys) a Patch or a Node + * <p> \b /ingen/del - Delete a graph object * \arg \b response-id (integer) - * \arg \b node-path (string) - Full path of the object </p> \n \n + * \arg \b path (string) - Full path of the object </p> \n \n */ int -OSCEngineReceiver::_destroy_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) +OSCEngineReceiver::_del_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) { - const char* node_path = &argv[1]->s; + const char* obj_path = &argv[1]->s; - destroy(node_path); + del(obj_path); return 0; } diff --git a/src/engine/OSCEngineReceiver.hpp b/src/engine/OSCEngineReceiver.hpp index fada5a17..82541cc6 100644 --- a/src/engine/OSCEngineReceiver.hpp +++ b/src/engine/OSCEngineReceiver.hpp @@ -90,13 +90,12 @@ private: LO_HANDLER(engine_activate); LO_HANDLER(engine_deactivate); LO_HANDLER(new_patch); - LO_HANDLER(rename); - LO_HANDLER(new_port); LO_HANDLER(put); + LO_HANDLER(move); + LO_HANDLER(del); LO_HANDLER(clear_patch); LO_HANDLER(set_polyphony); LO_HANDLER(set_polyphonic); - LO_HANDLER(destroy); LO_HANDLER(connect); LO_HANDLER(disconnect); LO_HANDLER(disconnect_all); diff --git a/src/engine/QueuedEngineInterface.cpp b/src/engine/QueuedEngineInterface.cpp index a1192c03..7c9c2c1a 100644 --- a/src/engine/QueuedEngineInterface.cpp +++ b/src/engine/QueuedEngineInterface.cpp @@ -184,17 +184,17 @@ QueuedEngineInterface::put(const Path& path, void -QueuedEngineInterface::rename(const Path& old_path, - const Path& new_path) +QueuedEngineInterface::move(const Path& old_path, + const Path& new_path) { - push_queued(new RenameEvent(_engine, _responder, now(), old_path, new_path)); + push_queued(new MoveEvent(_engine, _responder, now(), old_path, new_path)); } void -QueuedEngineInterface::destroy(const Path& path) +QueuedEngineInterface::del(const Path& path) { - push_queued(new DestroyEvent(_engine, _responder, now(), this, path)); + push_queued(new DeleteEvent(_engine, _responder, now(), this, path)); } diff --git a/src/engine/QueuedEngineInterface.hpp b/src/engine/QueuedEngineInterface.hpp index f12a1b23..2a94abff 100644 --- a/src/engine/QueuedEngineInterface.hpp +++ b/src/engine/QueuedEngineInterface.hpp @@ -74,8 +74,8 @@ public: virtual void put(const Raul::Path& path, const Shared::Resource::Properties& properties); - virtual void rename(const Raul::Path& old_path, - const Raul::Path& new_path); + virtual void move(const Raul::Path& old_path, + const Raul::Path& new_path); virtual void connect(const Raul::Path& src_port_path, const Raul::Path& dst_port_path); @@ -98,7 +98,7 @@ public: uint32_t voice, const Raul::Atom& value); - virtual void destroy(const Raul::Path& path); + virtual void del(const Raul::Path& path); virtual void clear_patch(const Raul::Path& patch_path); diff --git a/src/engine/events.hpp b/src/engine/events.hpp index ee8ab43e..8342fd45 100644 --- a/src/engine/events.hpp +++ b/src/engine/events.hpp @@ -27,7 +27,7 @@ #include "events/CreatePatchEvent.hpp" #include "events/CreatePortEvent.hpp" #include "events/DeactivateEvent.hpp" -#include "events/DestroyEvent.hpp" +#include "events/DeleteEvent.hpp" #include "events/DisconnectAllEvent.hpp" #include "events/DisconnectionEvent.hpp" #include "events/LoadPluginsEvent.hpp" @@ -35,7 +35,7 @@ #include "events/NoteEvent.hpp" #include "events/PingQueuedEvent.hpp" #include "events/RegisterClientEvent.hpp" -#include "events/RenameEvent.hpp" +#include "events/MoveEvent.hpp" #include "events/RequestAllObjectsEvent.hpp" #include "events/RequestMetadataEvent.hpp" #include "events/RequestObjectEvent.hpp" diff --git a/src/engine/events/DestroyEvent.cpp b/src/engine/events/DeleteEvent.cpp index 2a2e4abd..21058546 100644 --- a/src/engine/events/DestroyEvent.cpp +++ b/src/engine/events/DeleteEvent.cpp @@ -17,7 +17,7 @@ #include "raul/Maid.hpp" #include "raul/Path.hpp" -#include "DestroyEvent.hpp" +#include "DeleteEvent.hpp" #include "Responder.hpp" #include "Engine.hpp" #include "PatchImpl.hpp" @@ -38,7 +38,7 @@ namespace Ingen { using namespace Shared; -DestroyEvent::DestroyEvent(Engine& engine, SharedPtr<Responder> responder, FrameTime time, QueuedEventSource* source, const Raul::Path& path) +DeleteEvent::DeleteEvent(Engine& engine, SharedPtr<Responder> responder, FrameTime time, QueuedEventSource* source, const Raul::Path& path) : QueuedEvent(engine, responder, time, true, source) , _path(path) , _store_iterator(engine.engine_store()->end()) @@ -53,14 +53,14 @@ DestroyEvent::DestroyEvent(Engine& engine, SharedPtr<Responder> responder, Frame } -DestroyEvent::~DestroyEvent() +DeleteEvent::~DeleteEvent() { delete _disconnect_event; } void -DestroyEvent::pre_process() +DeleteEvent::pre_process() { _store_iterator = _engine.engine_store()->find(_path); @@ -120,7 +120,7 @@ DestroyEvent::pre_process() void -DestroyEvent::execute(ProcessContext& context) +DeleteEvent::execute(ProcessContext& context) { QueuedEvent::execute(context); @@ -169,7 +169,7 @@ DestroyEvent::execute(ProcessContext& context) void -DestroyEvent::post_process() +DeleteEvent::post_process() { if (!_node && !_port) { if (_path.is_root()) { diff --git a/src/engine/events/DestroyEvent.hpp b/src/engine/events/DeleteEvent.hpp index 25d0b65b..d0fa43f1 100644 --- a/src/engine/events/DestroyEvent.hpp +++ b/src/engine/events/DeleteEvent.hpp @@ -37,15 +37,22 @@ class DisconnectAllEvent; class CompiledPatch; -/** An event to remove and delete a Node. +/** Delete a graph object. + * WebDAV method DELETE (RFC4918 S9.6). * * \ingroup engine */ -class DestroyEvent : public QueuedEvent +class DeleteEvent : public QueuedEvent { public: - DestroyEvent(Engine& engine, SharedPtr<Responder> responder, FrameTime timestamp, QueuedEventSource* source, const Raul::Path& path); - ~DestroyEvent(); + DeleteEvent( + Engine& engine, + SharedPtr<Responder> responder, + FrameTime timestamp, + QueuedEventSource* source, + const Raul::Path& path); + + ~DeleteEvent(); void pre_process(); void execute(ProcessContext& context); diff --git a/src/engine/events/RenameEvent.cpp b/src/engine/events/MoveEvent.cpp index 73379a0c..661bc4c1 100644 --- a/src/engine/events/RenameEvent.cpp +++ b/src/engine/events/MoveEvent.cpp @@ -21,7 +21,7 @@ #include "NodeImpl.hpp" #include "EngineStore.hpp" #include "PatchImpl.hpp" -#include "RenameEvent.hpp" +#include "MoveEvent.hpp" #include "Responder.hpp" #include "AudioDriver.hpp" #include "MidiDriver.hpp" @@ -34,7 +34,7 @@ namespace Ingen { using namespace Shared; -RenameEvent::RenameEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, const Path& path, const Path& new_path) +MoveEvent::MoveEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, const Path& path, const Path& new_path) : QueuedEvent(engine, responder, timestamp) , _old_path(path) , _new_path(new_path) @@ -45,13 +45,13 @@ RenameEvent::RenameEvent(Engine& engine, SharedPtr<Responder> responder, SampleC } -RenameEvent::~RenameEvent() +MoveEvent::~MoveEvent() { } void -RenameEvent::pre_process() +MoveEvent::pre_process() { if (!_old_path.parent().is_parent_of(_new_path)) { _error = PARENT_DIFFERS; @@ -97,7 +97,7 @@ RenameEvent::pre_process() void -RenameEvent::execute(ProcessContext& context) +MoveEvent::execute(ProcessContext& context) { QueuedEvent::execute(context); @@ -117,13 +117,13 @@ RenameEvent::execute(ProcessContext& context) void -RenameEvent::post_process() +MoveEvent::post_process() { string msg = "Unable to rename object - "; if (_error == NO_ERROR) { _responder->respond_ok(); - _engine.broadcaster()->send_rename(_old_path, _new_path); + _engine.broadcaster()->send_move(_old_path, _new_path); } else { if (_error == OBJECT_EXISTS) msg.append("Object already exists at ").append(_new_path.str()); diff --git a/src/engine/events/RenameEvent.hpp b/src/engine/events/MoveEvent.hpp index 2fa9d897..f55d70b1 100644 --- a/src/engine/events/RenameEvent.hpp +++ b/src/engine/events/MoveEvent.hpp @@ -27,15 +27,21 @@ namespace Ingen { class PatchImpl; -/** An event to change the name of an GraphObjectImpl. +/** Move a graph object to a new path. + * WebDAV method MOVE (RFC4918 S9.9). * * \ingroup engine */ -class RenameEvent : public QueuedEvent +class MoveEvent : public QueuedEvent { public: - RenameEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, const Raul::Path& old_path, const Raul::Path& new_path); - ~RenameEvent(); + MoveEvent( + Engine& engine, + SharedPtr<Responder> responder, + SampleCount timestamp, + const Raul::Path& old_path, + const Raul::Path& new_path); + ~MoveEvent(); void pre_process(); void execute(ProcessContext& context); diff --git a/src/engine/wscript b/src/engine/wscript index 4365cfa9..157708e8 100644 --- a/src/engine/wscript +++ b/src/engine/wscript @@ -54,29 +54,29 @@ def build(bld): obj = bld.new_task_gen('cxx', 'shlib') obj.source = ''' - events/SetPortValueEvent.cpp - QueuedEventSource.cpp QueuedEngineInterface.cpp + QueuedEventSource.cpp events/AllNotesOffEvent.cpp events/ClearPatchEvent.cpp events/ConnectionEvent.cpp events/CreateNodeEvent.cpp events/CreatePatchEvent.cpp events/CreatePortEvent.cpp - events/DestroyEvent.cpp + events/DeleteEvent.cpp events/DisconnectAllEvent.cpp events/DisconnectionEvent.cpp events/LoadPluginsEvent.cpp events/MidiLearnEvent.cpp + events/MoveEvent.cpp events/NoteEvent.cpp events/RegisterClientEvent.cpp - events/RenameEvent.cpp events/RequestAllObjectsEvent.cpp events/RequestMetadataEvent.cpp events/RequestObjectEvent.cpp events/RequestPluginEvent.cpp events/RequestPluginsEvent.cpp events/SetMetadataEvent.cpp + events/SetPortValueEvent.cpp events/UnregisterClientEvent.cpp ''' obj.export_incdirs = ['.'] |