From 457f2a113103e9c849df8b902c0ca462b2a068bd Mon Sep 17 00:00:00 2001 From: Ramin Yaghoubzadeh <ryaghoub@techfak.uni-bielefeld.de> Date: Tue, 24 Jul 2012 13:57:32 +0200 Subject: [PATCH] Working version, reverted to old build scripts (for now!) Now splitting ipaaca into sub-projects "ipaacalib" and "ipaacatools" --- build.xml | 6 + cpp/build.properties | 1 + cpp/src/ipaaca.h | 658 ------------------------------------------- java/build.xml | 9 +- python/build.xml | 7 +- 5 files changed, 18 insertions(+), 663 deletions(-) delete mode 100644 cpp/src/ipaaca.h diff --git a/build.xml b/build.xml index b280d79..5ccdbda 100644 --- a/build.xml +++ b/build.xml @@ -29,4 +29,10 @@ </subant> </target> + <target name="dist"> + <subant target="dist" genericantfile="build.xml"> + <fileset dir="." includes="*/build.xml"/> + </subant> + </target> + </project> diff --git a/cpp/build.properties b/cpp/build.properties index 8ac22e8..b1c4e28 100644 --- a/cpp/build.properties +++ b/cpp/build.properties @@ -2,4 +2,5 @@ language=cpp resolve.status=beta resource.path=${shared.resources}/; rebuild.list= +dist.dir=../dist diff --git a/cpp/src/ipaaca.h b/cpp/src/ipaaca.h deleted file mode 100644 index 2c42c7e..0000000 --- a/cpp/src/ipaaca.h +++ /dev/null @@ -1,658 +0,0 @@ -#ifndef __IPAACA_H__ -#define __IPAACA_H_ - -/// ipaaca/IU/RSB protocol major version number -#define IPAACA_PROTOCOL_VERSION_MAJOR 1 -/// ipaaca/IU/RSB protocol minor version number -#define IPAACA_PROTOCOL_VERSION_MINOR 0 - -/// running release number of ipaaca-c++ -#define IPAACA_CPP_RELEASE_NUMBER 1 -/// date of last release number increment -#define IPAACA_CPP_RELEASE_DATE "2012-04-13" - - -#ifdef IPAACA_DEBUG_MESSAGES -#define IPAACA_INFO(i) std::cout << __FILE__ << ":" << __LINE__ << ": " << __func__ << "() -- " << i << std::endl; -#define IPAACA_WARNING(i) std::cout << __FILE__ << ":" << __LINE__ << ": " << __func__ << "() -- WARNING: " << i << std::endl; -#define IPAACA_IMPLEMENT_ME std::cout << __FILE__ << ":" << __LINE__ << ": " << __func__ << "() -- IMPLEMENT ME" << std::endl; -#define IPAACA_TODO(i) std::cout << __FILE__ << ":" << __LINE__ << ": " << __func__ << "() -- TODO: " << i << std::endl; -#else -#define IPAACA_INFO(i) ; -#define IPAACA_WARNING(i) ; -#define IPAACA_IMPLEMENT_ME(i) ; -#define IPAACA_TODO(i) ; -#endif - -/// marking pure virtual functions for extra readability -#define _IPAACA_ABSTRACT_ - -/// value to return when reading nonexistant payload keys -#define IPAACA_PAYLOAD_DEFAULT_STRING_VALUE "" - -#include <iostream> - -#include <boost/thread.hpp> -#include <boost/shared_ptr.hpp> -#include <boost/pointer_cast.hpp> - -#include <rsc/runtime/TypeStringTools.h> -#include <rsb/Factory.h> -#include <rsb/Handler.h> -#include <rsb/Event.h> -#include <rsb/converter/Repository.h> -#include <rsb/converter/ProtocolBufferConverter.h> -#include <rsb/converter/Converter.h> -#include <rsb/rsbexports.h> - -#include <ipaaca.pb.h> - -#include <pthread.h> -#include <uuid/uuid.h> - -//using namespace boost; -using namespace rsb; -using namespace rsb::filter; -using namespace rsb::converter; -using namespace rsb::patterns; - -namespace ipaaca { - -typedef uint32_t revision_t; - -/// Type of the IU event. Realized as an integer to enable bit masks for filters. -typedef uint32_t IUEventType; -#define IU_ADDED 1 -#define IU_COMMITTED 2 -#define IU_DELETED 4 -#define IU_RETRACTED 8 -#define IU_UPDATED 16 -#define IU_LINKSUPDATED 32 -/// Bit mask for receiving all events -#define IU_ALL_EVENTS 63 - -/// Convert an int event type to a human-readable string -inline std::string iu_event_type_to_str(IUEventType type) -{ - switch(type) { - case IU_ADDED: return "ADDED"; - case IU_COMMITTED: return "COMMITTED"; - case IU_DELETED: return "DELETED"; - case IU_RETRACTED: return "RETRACTED"; - case IU_UPDATED: return "UPDATED"; - case IU_LINKSUPDATED: return "LINKSUPDATED"; - default: return "(NOT A KNOWN SINGLE IU EVENT TYPE)"; - } -} - -/// IU access mode: PUSH means that updates are broadcast; REMOTE means that reads are RPC calls; MESSAGE means a fire-and-forget message -enum IUAccessMode { - IU_ACCESS_PUSH, - IU_ACCESS_REMOTE, - IU_ACCESS_MESSAGE -}; - -class PayloadEntryProxy; -class Payload; -class IUInterface; -class IU; -class RemotePushIU; -class IULinkUpdate; -class IULinkUpdateConverter; -class IUPayloadUpdate; -class IUPayloadUpdateConverter; -class IUStore; -class FrozenIUStore; -class Buffer; -class InputBuffer; -class OutputBuffer; - -/// generate a UUID as an ASCII string -std::string generate_uuid_string(); - -/// store for (local) IUs. TODO Stores need to be unified more -class IUStore: public std::map<std::string, boost::shared_ptr<IU> > -{ -}; -/// store for RemotePushIUs. TODO Stores need to be unified more -class RemotePushIUStore: public std::map<std::string, boost::shared_ptr<RemotePushIU> > // TODO genericize to all remote IU types -{ -}; - -/// a reentrant lock/mutex -class Lock -{ - protected: - pthread_mutexattr_t _attrs; - pthread_mutex_t _mutex; - public: - inline Lock() { - pthread_mutexattr_init(&_attrs); - pthread_mutexattr_settype(&_attrs, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&_mutex, &_attrs); - } - inline ~Lock() { - pthread_mutex_destroy(&_mutex); - pthread_mutexattr_destroy(&_attrs); - } - inline void lock() { - pthread_mutex_lock(&_mutex); - } - inline void unlock() { - pthread_mutex_unlock(&_mutex); - } -}; - -typedef std::set<std::string> LinkSet; -typedef std::map<std::string, LinkSet> LinkMap; -class SmartLinkMap { - friend std::ostream& operator<<(std::ostream& os, const SmartLinkMap& obj); - friend class IUInterface; - friend class IU; - friend class IUConverter; - public: - const LinkSet& get_links(const std::string& key); - const LinkMap& get_all_links(); - - protected: - LinkMap _links; - static LinkSet empty_link_set; - void _add_and_remove_links(const LinkMap& add, const LinkMap& remove); - void _replace_links(const LinkMap& links); -}; - -const LinkSet EMPTY_LINK_SET; -//const std::set<std::string> EMPTY_LINK_SET; - -//typedef boost::function<void (const std::string&, bool, IUEventType, const std::string&)> IUEventHandlerFunction; -typedef boost::function<void (boost::shared_ptr<IUInterface>, IUEventType, bool)> IUEventHandlerFunction; - -class IUEventHandler { - protected: - IUEventHandlerFunction _function; - IUEventType _event_mask; - bool _for_all_categories; - std::set<std::string> _categories; - protected: - inline bool _condition_met(IUEventType event_type, const std::string& category) - { - return ((_event_mask&event_type)!=0) && (_for_all_categories || (_categories.count(category)>0)); - } - public: - IUEventHandler(IUEventHandlerFunction function, IUEventType event_mask, const std::string& category); - IUEventHandler(IUEventHandlerFunction function, IUEventType event_mask, const std::set<std::string>& categories); - //void call(Buffer* buffer, const std::string& uid, bool local, IUEventType event_type, const std::string& category); - void call(Buffer* buffer, boost::shared_ptr<IUInterface> iu, bool local, IUEventType event_type, const std::string& category); - typedef boost::shared_ptr<IUEventHandler> ptr; -}; - -class Buffer { //: public boost::enable_shared_from_this<Buffer> {//{{{ - friend class IU; - friend class RemotePushIU; - friend class CallbackIUPayloadUpdate; - friend class CallbackIULinkUpdate; - friend class CallbackIUCommission; - protected: - std::string _uuid; - std::string _basename; - std::string _unique_name; - std::string _id_prefix; - std::vector<IUEventHandler::ptr> _event_handlers; - protected: - _IPAACA_ABSTRACT_ virtual void _send_iu_link_update(IUInterface* iu, bool is_delta, revision_t revision, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name="undef") = 0; - _IPAACA_ABSTRACT_ virtual void _send_iu_payload_update(IUInterface* iu, bool is_delta, revision_t revision, const std::map<std::string, std::string>& new_items, const std::vector<std::string>& keys_to_remove, const std::string& writer_name="undef") = 0; - _IPAACA_ABSTRACT_ virtual void _send_iu_commission(IUInterface* iu, revision_t revision, const std::string& writer_name="undef") = 0; - void _allocate_unique_name(const std::string& basename, const std::string& function); - inline Buffer(const std::string& basename, const std::string& function) { - _allocate_unique_name(basename, function); - } - void call_iu_event_handlers(boost::shared_ptr<IUInterface> iu, bool local, IUEventType event_type, const std::string& category); - public: - virtual inline ~Buffer() { } - inline const std::string& unique_name() { return _unique_name; } - void register_handler(IUEventHandlerFunction function, IUEventType event_mask, const std::set<std::string>& categories); - void register_handler(IUEventHandlerFunction function, IUEventType event_mask = IU_ALL_EVENTS, const std::string& category=""); - //_IPAACA_ABSTRACT_ virtual void add(boost::shared_ptr<IUInterface> iu) = 0; - _IPAACA_ABSTRACT_ virtual boost::shared_ptr<IUInterface> get(const std::string& iu_uid) = 0; - _IPAACA_ABSTRACT_ virtual std::set<boost::shared_ptr<IUInterface> > get_ius() = 0; -}; -//}}} - -class CallbackIUPayloadUpdate: public Server::Callback<IUPayloadUpdate, int> { - protected: - Buffer* _buffer; - public: - CallbackIUPayloadUpdate(Buffer* buffer); - boost::shared_ptr<int> call(const std::string& methodName, boost::shared_ptr<IUPayloadUpdate> update); -}; -class CallbackIULinkUpdate: public Server::Callback<IULinkUpdate, int> { - protected: - Buffer* _buffer; - public: - CallbackIULinkUpdate(Buffer* buffer); - public: - boost::shared_ptr<int> call(const std::string& methodName, boost::shared_ptr<IULinkUpdate> update); -}; -class CallbackIUCommission: public Server::Callback<protobuf::IUCommission, int> { - protected: - Buffer* _buffer; - public: - CallbackIUCommission(Buffer* buffer); - public: - boost::shared_ptr<int> call(const std::string& methodName, boost::shared_ptr<protobuf::IUCommission> update); -}; - -class OutputBuffer: public Buffer { //, public boost::enable_shared_from_this<OutputBuffer> {//{{{ - friend class IU; - friend class RemotePushIU; - protected: - protected: - std::map<std::string, Informer<AnyType>::Ptr> _informer_store; - IUStore _iu_store; - Lock _iu_id_counter_lock; - ServerPtr _server; - protected: - // informing functions - void _send_iu_link_update(IUInterface* iu, bool is_delta, revision_t revision, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name="undef"); - void _send_iu_payload_update(IUInterface* iu, bool is_delta, revision_t revision, const std::map<std::string, std::string>& new_items, const std::vector<std::string>& keys_to_remove, const std::string& writer_name="undef"); - void _send_iu_commission(IUInterface* iu, revision_t revision, const std::string& writer_name); - // remote access functions - // _remote_update_links(IULinkUpdate) - // _remote_update_payload(IUPayloadUpdate) - // _remote_commit(protobuf::IUCommission) - protected: - void _publish_iu(boost::shared_ptr<IU> iu); - void _retract_iu(boost::shared_ptr<IU> iu); - Informer<AnyType>::Ptr _get_informer(const std::string& category); - protected: - OutputBuffer(const std::string& basename); - void _initialize_server(); - public: - static boost::shared_ptr<OutputBuffer> create(const std::string& basename); - ~OutputBuffer() { - IPAACA_IMPLEMENT_ME - } - void add(boost::shared_ptr<IU> iu); - boost::shared_ptr<IU> remove(const std::string& iu_uid); - boost::shared_ptr<IU> remove(boost::shared_ptr<IU> iu); - boost::shared_ptr<IUInterface> get(const std::string& iu_uid); - std::set<boost::shared_ptr<IUInterface> > get_ius(); - typedef boost::shared_ptr<OutputBuffer> ptr; -}; -//}}} - -class InputBuffer: public Buffer { //, public boost::enable_shared_from_this<InputBuffer> {//{{{ - friend class IU; - friend class RemotePushIU; - protected: - std::map<std::string, ListenerPtr> _listener_store; - std::map<std::string, RemoteServerPtr> _remote_server_store; - RemotePushIUStore _iu_store; // TODO genericize - protected: - inline void _send_iu_link_update(IUInterface* iu, bool is_delta, revision_t revision, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name="undef") - { - IPAACA_WARNING("(ERROR) InputBuffer::_send_iu_link_update() should never be invoked") - } - inline void _send_iu_payload_update(IUInterface* iu, bool is_delta, revision_t revision, const std::map<std::string, std::string>& new_items, const std::vector<std::string>& keys_to_remove, const std::string& writer_name="undef") - { - IPAACA_WARNING("(ERROR) InputBuffer::_send_iu_payload_update() should never be invoked") - } - inline void _send_iu_commission(IUInterface* iu, revision_t revision, const std::string& writer_name="undef") - { - IPAACA_WARNING("(ERROR) InputBuffer::_send_iu_commission() should never be invoked") - } - protected: - RemoteServerPtr _get_remote_server(const std::string& unique_server_name); - ListenerPtr _create_category_listener_if_needed(const std::string& category); - void _handle_iu_events(EventPtr event); - protected: - InputBuffer(const std::string& basename, const std::vector<std::string>& category_interests); - InputBuffer(const std::string& basename, const std::string& category_interest1); - InputBuffer(const std::string& basename, const std::string& category_interest1, const std::string& category_interest2); - InputBuffer(const std::string& basename, const std::string& category_interest1, const std::string& category_interest2, const std::string& category_interest3); - InputBuffer(const std::string& basename, const std::string& category_interest1, const std::string& category_interest2, const std::string& category_interest3, const std::string& category_interest4); - public: - static boost::shared_ptr<InputBuffer> create(const std::string& basename, const std::vector<std::string>& category_interests); - static boost::shared_ptr<InputBuffer> create(const std::string& basename, const std::string& category_interest1); - static boost::shared_ptr<InputBuffer> create(const std::string& basename, const std::string& category_interest1, const std::string& category_interest2); - static boost::shared_ptr<InputBuffer> create(const std::string& basename, const std::string& category_interest1, const std::string& category_interest2, const std::string& category_interest3); - static boost::shared_ptr<InputBuffer> create(const std::string& basename, const std::string& category_interest1, const std::string& category_interest2, const std::string& category_interest3, const std::string& category_interest4); - ~InputBuffer() { - IPAACA_IMPLEMENT_ME - } - boost::shared_ptr<IUInterface> get(const std::string& iu_uid); - std::set<boost::shared_ptr<IUInterface> > get_ius(); - typedef boost::shared_ptr<InputBuffer> ptr; -}; -//}}} - -class IUConverter: public rsb::converter::Converter<std::string> {//{{{ - public: - IUConverter(); - std::string serialize(const rsb::AnnotatedData& data, std::string& wire); - rsb::AnnotatedData deserialize(const std::string& wireSchema, const std::string& wire); -};//}}} - -class IUPayloadUpdate {//{{{ - public: - std::string uid; - revision_t revision; - std::string writer_name; - bool is_delta; - std::map<std::string, std::string> new_items; - std::vector<std::string> keys_to_remove; - friend std::ostream& operator<<(std::ostream& os, const IUPayloadUpdate& obj); - typedef boost::shared_ptr<IUPayloadUpdate> ptr; -};//}}} -class IUPayloadUpdateConverter: public rsb::converter::Converter<std::string> {//{{{ - public: - IUPayloadUpdateConverter(); - std::string serialize(const rsb::AnnotatedData& data, std::string& wire); - rsb::AnnotatedData deserialize(const std::string& wireSchema, const std::string& wire); -};//}}} - -class IULinkUpdate {//{{{ - public: - std::string uid; - revision_t revision; - std::string writer_name; - bool is_delta; - std::map<std::string, std::set<std::string> > new_links; - std::map<std::string, std::set<std::string> > links_to_remove; - friend std::ostream& operator<<(std::ostream& os, const IULinkUpdate& obj); - typedef boost::shared_ptr<IULinkUpdate> ptr; -};//}}} -class IULinkUpdateConverter: public rsb::converter::Converter<std::string> {//{{{ - public: - IULinkUpdateConverter(); - std::string serialize(const rsb::AnnotatedData& data, std::string& wire); - rsb::AnnotatedData deserialize(const std::string& wireSchema, const std::string& wire); -};//}}} - - -class IntConverter: public rsb::converter::Converter<std::string> {//{{{ - public: - IntConverter(); - std::string serialize(const rsb::AnnotatedData& data, std::string& wire); - rsb::AnnotatedData deserialize(const std::string& wireSchema, const std::string& wire); -};//}}} - -class Initializer -{ - public: - static void initialize_ipaaca_rsb_if_needed(); - static bool initialized(); - protected: - static bool _initialized; -}; - -class PayloadEntryProxy//{{{ -{ - protected: - Payload* _payload; - std::string _key; - public: - PayloadEntryProxy(Payload* payload, const std::string& key); - PayloadEntryProxy& operator=(const std::string& value); - operator std::string(); - operator long(); - operator double(); - inline std::string to_str() { return operator std::string(); } - inline long to_int() { return operator long(); } - inline double to_float() { return operator double(); } -};//}}} - -class Payload//{{{ -{ - friend std::ostream& operator<<(std::ostream& os, const Payload& obj); - friend class IUInterface; - friend class IU; - friend class RemotePushIU; - friend class IUConverter; - friend class CallbackIUPayloadUpdate; - protected: - std::string _owner_name; - std::map<std::string, std::string> _store; - boost::shared_ptr<IUInterface> _iu; - protected: - void initialize(boost::shared_ptr<IUInterface> iu); - inline void _set_owner_name(const std::string& name) { _owner_name = name; } - void _remotely_enforced_wipe(); - void _remotely_enforced_delitem(const std::string& k); - void _remotely_enforced_setitem(const std::string& k, const std::string& v); - void _internal_replace_all(const std::map<std::string, std::string>& new_contents, const std::string& writer_name=""); - void _internal_set(const std::string& k, const std::string& v, const std::string& writer_name=""); - void _internal_remove(const std::string& k, const std::string& writer_name=""); - public: - inline const std::string& owner_name() { return _owner_name; } - // access - PayloadEntryProxy operator[](const std::string& key); - inline void set(const std::string& k, const std::string& v) { _internal_set(k, v); } - inline void remove(const std::string& k) { _internal_remove(k); } - std::string get(const std::string& k); - typedef boost::shared_ptr<Payload> ptr; -};//}}} - -class IUInterface {//{{{ - friend class IUConverter; - friend std::ostream& operator<<(std::ostream& os, const IUInterface& obj); - protected: - IUInterface(); - public: - inline virtual ~IUInterface() { } - protected: - std::string _uid; - revision_t _revision; - std::string _category; - std::string _payload_type; // default is "MAP" - std::string _owner_name; - bool _committed; - IUAccessMode _access_mode; - bool _read_only; - //boost::shared_ptr<Buffer> _buffer; - Buffer* _buffer; - SmartLinkMap _links; - protected: - friend class Payload; - // Internal functions that perform the update logic, - // e.g. sending a notification across the network - _IPAACA_ABSTRACT_ virtual void _modify_links(bool is_delta, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name) = 0; - _IPAACA_ABSTRACT_ virtual void _modify_payload(bool is_delta, const std::map<std::string, std::string>& new_items, const std::vector<std::string>& keys_to_remove, const std::string& writer_name) = 0; - //void _set_buffer(boost::shared_ptr<Buffer> buffer); - void _associate_with_buffer(Buffer* buffer); - void _set_buffer(Buffer* buffer); - void _set_uid(const std::string& uid); - void _set_owner_name(const std::string& owner_name); - protected: - // internal functions that do not emit update events - inline void _add_and_remove_links(const LinkMap& add, const LinkMap& remove) { _links._add_and_remove_links(add, remove); } - inline void _replace_links(const LinkMap& links) { _links._replace_links(links); } - public: - inline bool is_published() { return (_buffer != 0); } - inline const std::string& uid() const { return _uid; } - inline revision_t revision() const { return _revision; } - inline const std::string& category() const { return _category; } - inline const std::string& payload_type() const { return _payload_type; } - inline const std::string& owner_name() const { return _owner_name; } - inline bool committed() const { return _committed; } - inline IUAccessMode access_mode() const { return _access_mode; } - inline bool read_only() const { return _read_only; } - //inline boost::shared_ptr<Buffer> buffer() { return _buffer; } - inline Buffer* buffer() const { return _buffer; } - inline const LinkSet& get_links(std::string type) { return _links.get_links(type); } - inline const LinkMap& get_all_links() { return _links.get_all_links(); } - // Payload - _IPAACA_ABSTRACT_ virtual Payload& payload() = 0; - _IPAACA_ABSTRACT_ virtual const Payload& const_payload() const = 0; - // setters - _IPAACA_ABSTRACT_ virtual void commit() = 0; - // functions to modify and update links: - void add_links(const std::string& type, const LinkSet& targets, const std::string& writer_name = ""); - void remove_links(const std::string& type, const LinkSet& targets, const std::string& writer_name = ""); - void modify_links(const LinkMap& add, const LinkMap& remove, const std::string& writer_name = ""); - void set_links(const LinkMap& links, const std::string& writer_name = ""); - // (with cpp specific convenience functions:) - void add_link(const std::string& type, const std::string& target, const std::string& writer_name = ""); - void remove_link(const std::string& type, const std::string& target, const std::string& writer_name = ""); - typedef boost::shared_ptr<IUInterface> ptr; -};//}}} - -class IU: public IUInterface {//{{{ - friend class Buffer; - friend class InputBuffer; - friend class OutputBuffer; - friend class CallbackIUPayloadUpdate; - friend class CallbackIULinkUpdate; - friend class CallbackIUCommission; - public: - Payload _payload; - protected: - Lock _revision_lock; - protected: - inline void _increase_revision_number() { _revision++; } - IU(const std::string& category, IUAccessMode access_mode=IU_ACCESS_PUSH, bool read_only=false, const std::string& payload_type="MAP" ); - public: - inline ~IU() { - IPAACA_IMPLEMENT_ME - } - static boost::shared_ptr<IU> create(const std::string& category, IUAccessMode access_mode=IU_ACCESS_PUSH, bool read_only=false, const std::string& payload_type="MAP" ); - inline Payload& payload() { return _payload; } - inline const Payload& const_payload() const { return _payload; } - void commit(); - protected: - void _modify_links(bool is_delta, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name = ""); - void _modify_payload(bool is_delta, const std::map<std::string, std::string>& new_items, const std::vector<std::string>& keys_to_remove, const std::string& writer_name = ""); - protected: - void _internal_commit(const std::string& writer_name = ""); - public: - typedef boost::shared_ptr<IU> ptr; -};//}}} - -class RemotePushIU: public IUInterface {//{{{ - friend class Buffer; - friend class InputBuffer; - friend class OutputBuffer; - friend class IUConverter; - public: - Payload _payload; - protected: - RemotePushIU(); - static boost::shared_ptr<RemotePushIU> create(); - public: - inline ~RemotePushIU() { - IPAACA_IMPLEMENT_ME - } - inline Payload& payload() { return _payload; } - inline const Payload& const_payload() const { return _payload; } - void commit(); - protected: - void _modify_links(bool is_delta, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name = ""); - void _modify_payload(bool is_delta, const std::map<std::string, std::string>& new_items, const std::vector<std::string>& keys_to_remove, const std::string& writer_name = ""); - protected: - void _apply_update(IUPayloadUpdate::ptr update); - void _apply_link_update(IULinkUpdate::ptr update); - void _apply_commission(); - typedef boost::shared_ptr<RemotePushIU> ptr; -};//}}} - -class Exception: public std::exception//{{{ -{ - protected: - std::string _description; - inline Exception(const std::string& description=""): _description(description) { } - public: - inline ~Exception() throw() { } - const char* what() const throw() { - return _description.c_str(); - } -};//}}} -class IUNotFoundError: public Exception//{{{ -{ - public: - inline ~IUNotFoundError() throw() { } - inline IUNotFoundError() { //boost::shared_ptr<IU> iu) { - _description = "IUNotFoundError"; - } -};//}}} -class IUPublishedError: public Exception//{{{ -{ - public: - inline ~IUPublishedError() throw() { } - inline IUPublishedError() { //boost::shared_ptr<IU> iu) { - _description = "IUPublishedError"; - } -};//}}} -class IUCommittedError: public Exception//{{{ -{ - public: - inline ~IUCommittedError() throw() { } - inline IUCommittedError() { //boost::shared_ptr<IU> iu) { - _description = "IUCommittedError"; - } -};//}}} -class IUUpdateFailedError: public Exception//{{{ -{ - public: - inline ~IUUpdateFailedError() throw() { } - inline IUUpdateFailedError() { //boost::shared_ptr<IU> iu) { - _description = "IUUpdateFailedError"; - } -};//}}} -class IUReadOnlyError: public Exception//{{{ -{ - public: - inline ~IUReadOnlyError() throw() { } - inline IUReadOnlyError() { //boost::shared_ptr<IU> iu) { - _description = "IUReadOnlyError"; - } -};//}}} -class IUAlreadyInABufferError: public Exception//{{{ -{ - public: - inline ~IUAlreadyInABufferError() throw() { } - inline IUAlreadyInABufferError() { //boost::shared_ptr<IU> iu) { - _description = "IUAlreadyInABufferError"; - } -};//}}} -class IUAlreadyHasAnUIDError: public Exception//{{{ -{ - public: - inline ~IUAlreadyHasAnUIDError() throw() { } - inline IUAlreadyHasAnUIDError() { //boost::shared_ptr<IU> iu) { - _description = "IUAlreadyHasAnUIDError"; - } -};//}}} -class IUAlreadyHasAnOwnerNameError: public Exception//{{{ -{ - public: - inline ~IUAlreadyHasAnOwnerNameError() throw() { } - inline IUAlreadyHasAnOwnerNameError() { //boost::shared_ptr<IU> iu) { - _description = "IUAlreadyHasAnOwnerNameError"; - } -};//}}} -class NotImplementedError: public Exception//{{{ -{ - public: - inline ~NotImplementedError() throw() { } - inline NotImplementedError() { //boost::shared_ptr<IU> iu) { - _description = "NotImplementedError"; - } -};//}}} - -// (snippets) //{{{ -/* -class IUEventFunctionHandler: public rsb::EventFunctionHandler { - protected: - Buffer* _buffer; - public: - inline IUEventFunctionHandler(Buffer* buffer, const EventFunction& function, const std::string& method="") - : EventFunctionHandler(function, method), _buffer(buffer) { } -}; -*/ -//}}} - -} // of namespace ipaaca - -#endif - - diff --git a/java/build.xml b/java/build.xml index 996ee0e..c521164 100644 --- a/java/build.xml +++ b/java/build.xml @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <project name="ipaaca-java" default="run"> - + + <target name="dist"> + <echo>FIXME - Ramin's hack: JAVA - DOING NOTHING ON DIST</echo> + </target> <target name="-pre-compilation"> <echo message="Compiling protobuf file" /> <mkdir dir="generatedsrc"/> @@ -11,6 +14,6 @@ </exec> </target> - <!--import file="../../soashared/ant/build.xml" /--> - <import file="../../HmiBuild/build.xml" /> + <import file="../../soashared/ant/build.xml" /> + <!-- import file="../../HmiBuild/build.xml" / --> </project> diff --git a/python/build.xml b/python/build.xml index f24e485..23a6259 100644 --- a/python/build.xml +++ b/python/build.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <project name="IpaacaPython" default="run"> - <!--import file="../../soashared/ant/build.xml" /--> - <import file="../../HmiBuild/build.xml" /> + <import file="../../soashared/ant/build.xml" /> + <!--import file="../../HmiBuild/build.xml" / --> + <target name="dist"> + <echo>FIXME - Ramin's hack: PYTHON - DOING NOTHING ON DIST</echo> + </target> <target name="-pre-compilation"> <echo message="Compiling protobuf file" /> <exec executable="protoc"> -- GitLab