diff --git a/ipaacalib/cpp/CMakeLists.txt b/ipaacalib/cpp/CMakeLists.txt index 85915b90493c3a54a2655955523801bccc917b9e..e19d222982e91efd3ea7a5ed1932706cccba89c9 100644 --- a/ipaacalib/cpp/CMakeLists.txt +++ b/ipaacalib/cpp/CMakeLists.txt @@ -151,11 +151,17 @@ set (SOURCE build/ipaaca/ipaaca.pb.cc ) + + + # compile all files to "ipaaca" shared library add_library(ipaaca SHARED ${SOURCE}) # and link all the required external libs (found above using find_package etc.) target_link_libraries(ipaaca ${LIBS}) +#add_executable (ipaaca-test-main src/ipaaca-test-main.cc) +#target_link_libraries (ipaaca-test-main ${LIBS}) + set(DEFAULT_BIN_SUBDIR bin) set(DEFAULT_LIB_SUBDIR lib) set(DEFAULT_DATA_SUBDIR share/data) diff --git a/ipaacalib/cpp/include/ipaaca/ipaaca.h b/ipaacalib/cpp/include/ipaaca/ipaaca.h index 37ce8d14d6a15612e88220e341c6cc69aa5e2389..b60b0ba7d3fb77cccc0da72726818a69a628f102 100644 --- a/ipaacalib/cpp/include/ipaaca/ipaaca.h +++ b/ipaacalib/cpp/include/ipaaca/ipaaca.h @@ -379,10 +379,13 @@ IPAACA_HEADER_EXPORT class Buffer { //: public boost::enable_shared_from_this<Bu IPAACA_MEMBER_VAR_EXPORT std::string _id_prefix; IPAACA_MEMBER_VAR_EXPORT std::vector<IUEventHandler::ptr> _event_handlers; protected: + IPAACA_HEADER_EXPORT _IPAACA_ABSTRACT_ virtual void _publish_iu_resend(boost::shared_ptr<IU> iu, const std::string& hidden_scope_name) = 0; + + IPAACA_HEADER_EXPORT _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_HEADER_EXPORT _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_HEADER_EXPORT _IPAACA_ABSTRACT_ virtual void _send_iu_commission(IUInterface* iu, revision_t revision, const std::string& writer_name="undef") = 0; - IPAACA_HEADER_EXPORT _IPAACA_ABSTRACT_ virtual void _send_iu_resendrequest(IUInterface* iu, revision_t revision, const std::string& writer_name="undef") = 0; +// IPAACA_HEADER_EXPORT _IPAACA_ABSTRACT_ virtual void _send_iu_resendrequest(IUInterface* iu, revision_t revision, const std::string& writer_name="undef") = 0; IPAACA_HEADER_EXPORT void _allocate_unique_name(const std::string& basename, const std::string& function); IPAACA_HEADER_EXPORT inline Buffer(const std::string& basename, const std::string& function) { _allocate_unique_name(basename, function); @@ -417,6 +420,8 @@ IPAACA_HEADER_EXPORT class OutputBuffer: public Buffer { //, public boost::enabl protected: // informing functions IPAACA_HEADER_EXPORT 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_HEADER_EXPORT void _publish_iu_resend(boost::shared_ptr<IU> iu, const std::string& hidden_scope_name); + IPAACA_HEADER_EXPORT 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_HEADER_EXPORT void _send_iu_commission(IUInterface* iu, revision_t revision, const std::string& writer_name); IPAACA_HEADER_EXPORT void _send_iu_resendrequest(IUInterface* iu, revision_t revision, const std::string& writer_name); @@ -425,6 +430,7 @@ IPAACA_HEADER_EXPORT class OutputBuffer: public Buffer { //, public boost::enabl // _remote_update_payload(IUPayloadUpdate) // _remote_commit(protobuf::IUCommission) IPAACA_HEADER_EXPORT void _publish_iu(boost::shared_ptr<IU> iu); + IPAACA_HEADER_EXPORT void _retract_iu(boost::shared_ptr<IU> iu); protected: IPAACA_HEADER_EXPORT OutputBuffer(const std::string& basename); @@ -463,6 +469,10 @@ IPAACA_HEADER_EXPORT class InputBuffer: public Buffer { //, public boost::enable { IPAACA_WARNING("(ERROR) InputBuffer::_send_iu_link_update() should never be invoked") } + IPAACA_HEADER_EXPORT inline void _publish_iu_resend(boost::shared_ptr<IU> iu, const std::string& hidden_scope_name) + { + IPAACA_WARNING("(ERROR) InputBuffer::_publish_iu_resend() should never be invoked") + } IPAACA_HEADER_EXPORT 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") @@ -651,6 +661,8 @@ IPAACA_HEADER_EXPORT class IUInterface {//{{{ // setters IPAACA_HEADER_EXPORT _IPAACA_ABSTRACT_ virtual void commit() = 0; // functions to modify and update links: + IPAACA_HEADER_EXPORT void _publish_resend(boost::shared_ptr<IU> iu, const std::string& hidden_scope_name); + IPAACA_HEADER_EXPORT void add_links(const std::string& type, const LinkSet& targets, const std::string& writer_name = ""); IPAACA_HEADER_EXPORT void remove_links(const std::string& type, const LinkSet& targets, const std::string& writer_name = ""); IPAACA_HEADER_EXPORT void modify_links(const LinkMap& add, const LinkMap& remove, const std::string& writer_name = ""); @@ -686,6 +698,9 @@ IPAACA_HEADER_EXPORT class IU: public IUInterface {//{{{ IPAACA_HEADER_EXPORT void commit(); protected: IPAACA_HEADER_EXPORT virtual void _modify_links(bool is_delta, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name = ""); + + IPAACA_HEADER_EXPORT virtual void _publish_resend(boost::shared_ptr<IU> iu, const std::string& hidden_scope_name); + IPAACA_HEADER_EXPORT 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 = ""); protected: IPAACA_HEADER_EXPORT virtual void _internal_commit(const std::string& writer_name = ""); diff --git a/ipaacalib/cpp/ipaaca.pb.cc b/ipaacalib/cpp/ipaaca.pb.cc new file mode 100644 index 0000000000000000000000000000000000000000..d40df61b71290c4595a34b89606078a7fb678085 --- /dev/null +++ b/ipaacalib/cpp/ipaaca.pb.cc @@ -0,0 +1,3600 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "ipaaca.pb.h" + +#include <algorithm> + +#include <google/protobuf/stubs/once.h> +#include <google/protobuf/io/coded_stream.h> +#include <google/protobuf/wire_format_lite_inl.h> +#include <google/protobuf/descriptor.h> +#include <google/protobuf/reflection_ops.h> +#include <google/protobuf/wire_format.h> +// @@protoc_insertion_point(includes) + +namespace ipaaca { +namespace protobuf { + +namespace { + +const ::google::protobuf::Descriptor* IntMessage_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IntMessage_reflection_ = NULL; +const ::google::protobuf::Descriptor* LinkSet_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + LinkSet_reflection_ = NULL; +const ::google::protobuf::Descriptor* PayloadItem_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + PayloadItem_reflection_ = NULL; +const ::google::protobuf::Descriptor* IU_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IU_reflection_ = NULL; +const ::google::protobuf::EnumDescriptor* IU_AccessMode_descriptor_ = NULL; +const ::google::protobuf::Descriptor* IUPayloadUpdate_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IUPayloadUpdate_reflection_ = NULL; +const ::google::protobuf::Descriptor* IURetraction_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IURetraction_reflection_ = NULL; +const ::google::protobuf::Descriptor* IUCommission_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IUCommission_reflection_ = NULL; +const ::google::protobuf::Descriptor* IUResendRequest_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IUResendRequest_reflection_ = NULL; +const ::google::protobuf::Descriptor* IULinkUpdate_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + IULinkUpdate_reflection_ = NULL; + +} // namespace + + +void protobuf_AssignDesc_ipaaca_2eproto() { + protobuf_AddDesc_ipaaca_2eproto(); + const ::google::protobuf::FileDescriptor* file = + ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( + "ipaaca.proto"); + GOOGLE_CHECK(file != NULL); + IntMessage_descriptor_ = file->message_type(0); + static const int IntMessage_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IntMessage, value_), + }; + IntMessage_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IntMessage_descriptor_, + IntMessage::default_instance_, + IntMessage_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IntMessage, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IntMessage, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IntMessage)); + LinkSet_descriptor_ = file->message_type(1); + static const int LinkSet_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, targets_), + }; + LinkSet_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + LinkSet_descriptor_, + LinkSet::default_instance_, + LinkSet_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(LinkSet)); + PayloadItem_descriptor_ = file->message_type(2); + static const int PayloadItem_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, key_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, type_), + }; + PayloadItem_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + PayloadItem_descriptor_, + PayloadItem::default_instance_, + PayloadItem_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(PayloadItem)); + IU_descriptor_ = file->message_type(3); + static const int IU_offsets_[10] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, uid_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, revision_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, category_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, payload_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, owner_name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, committed_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, access_mode_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, read_only_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, payload_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, links_), + }; + IU_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IU_descriptor_, + IU::default_instance_, + IU_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IU)); + IU_AccessMode_descriptor_ = IU_descriptor_->enum_type(0); + IUPayloadUpdate_descriptor_ = file->message_type(4); + static const int IUPayloadUpdate_offsets_[6] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, uid_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, revision_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, new_items_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, keys_to_remove_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, is_delta_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, writer_name_), + }; + IUPayloadUpdate_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IUPayloadUpdate_descriptor_, + IUPayloadUpdate::default_instance_, + IUPayloadUpdate_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IUPayloadUpdate)); + IURetraction_descriptor_ = file->message_type(5); + static const int IURetraction_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, uid_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, revision_), + }; + IURetraction_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IURetraction_descriptor_, + IURetraction::default_instance_, + IURetraction_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IURetraction)); + IUCommission_descriptor_ = file->message_type(6); + static const int IUCommission_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, uid_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, revision_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, writer_name_), + }; + IUCommission_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IUCommission_descriptor_, + IUCommission::default_instance_, + IUCommission_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IUCommission)); + IUResendRequest_descriptor_ = file->message_type(7); + static const int IUResendRequest_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, uid_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, hidden_scope_name_), + }; + IUResendRequest_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IUResendRequest_descriptor_, + IUResendRequest::default_instance_, + IUResendRequest_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IUResendRequest)); + IULinkUpdate_descriptor_ = file->message_type(8); + static const int IULinkUpdate_offsets_[6] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, uid_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, revision_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, new_links_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, links_to_remove_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, is_delta_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, writer_name_), + }; + IULinkUpdate_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + IULinkUpdate_descriptor_, + IULinkUpdate::default_instance_, + IULinkUpdate_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(IULinkUpdate)); +} + +namespace { + +GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_); +inline void protobuf_AssignDescriptorsOnce() { + ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, + &protobuf_AssignDesc_ipaaca_2eproto); +} + +void protobuf_RegisterTypes(const ::std::string&) { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IntMessage_descriptor_, &IntMessage::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + LinkSet_descriptor_, &LinkSet::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + PayloadItem_descriptor_, &PayloadItem::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IU_descriptor_, &IU::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IUPayloadUpdate_descriptor_, &IUPayloadUpdate::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IURetraction_descriptor_, &IURetraction::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IUCommission_descriptor_, &IUCommission::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IUResendRequest_descriptor_, &IUResendRequest::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + IULinkUpdate_descriptor_, &IULinkUpdate::default_instance()); +} + +} // namespace + +void protobuf_ShutdownFile_ipaaca_2eproto() { + delete IntMessage::default_instance_; + delete IntMessage_reflection_; + delete LinkSet::default_instance_; + delete LinkSet_reflection_; + delete PayloadItem::default_instance_; + delete PayloadItem_reflection_; + delete IU::default_instance_; + delete IU_reflection_; + delete IUPayloadUpdate::default_instance_; + delete IUPayloadUpdate_reflection_; + delete IURetraction::default_instance_; + delete IURetraction_reflection_; + delete IUCommission::default_instance_; + delete IUCommission_reflection_; + delete IUResendRequest::default_instance_; + delete IUResendRequest_reflection_; + delete IULinkUpdate::default_instance_; + delete IULinkUpdate_reflection_; +} + +void protobuf_AddDesc_ipaaca_2eproto() { + static bool already_here = false; + if (already_here) return; + already_here = true; + GOOGLE_PROTOBUF_VERIFY_VERSION; + + ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( + "\n\014ipaaca.proto\022\017ipaaca.protobuf\"\033\n\nIntMe" + "ssage\022\r\n\005value\030\001 \002(\021\"(\n\007LinkSet\022\014\n\004type\030" + "\001 \002(\t\022\017\n\007targets\030\002 \003(\t\"<\n\013PayloadItem\022\013\n" + "\003key\030\001 \002(\t\022\r\n\005value\030\002 \002(\t\022\021\n\004type\030\003 \002(\t:" + "\003str\"\343\002\n\002IU\022\013\n\003uid\030\001 \002(\t\022\020\n\010revision\030\002 \002" + "(\r\022\027\n\010category\030\003 \002(\t:\005undef\022\031\n\014payload_t" + "ype\030\004 \002(\t:\003MAP\022\022\n\nowner_name\030\005 \002(\t\022\030\n\tco" + "mmitted\030\006 \002(\010:\005false\0229\n\013access_mode\030\007 \002(" + "\0162\036.ipaaca.protobuf.IU.AccessMode:\004PUSH\022" + "\030\n\tread_only\030\010 \002(\010:\005false\022-\n\007payload\030\t \003" + "(\0132\034.ipaaca.protobuf.PayloadItem\022\'\n\005link" + "s\030\n \003(\0132\030.ipaaca.protobuf.LinkSet\"/\n\nAcc" + "essMode\022\010\n\004PUSH\020\000\022\n\n\006REMOTE\020\001\022\013\n\007MESSAGE" + "\020\002\"\247\001\n\017IUPayloadUpdate\022\013\n\003uid\030\001 \002(\t\022\020\n\010r" + "evision\030\002 \002(\r\022/\n\tnew_items\030\003 \003(\0132\034.ipaac" + "a.protobuf.PayloadItem\022\026\n\016keys_to_remove" + "\030\004 \003(\t\022\027\n\010is_delta\030\005 \002(\010:\005false\022\023\n\013write" + "r_name\030\006 \002(\t\"-\n\014IURetraction\022\013\n\003uid\030\001 \002(" + "\t\022\020\n\010revision\030\002 \002(\r\"B\n\014IUCommission\022\013\n\003u" + "id\030\001 \002(\t\022\020\n\010revision\030\002 \002(\r\022\023\n\013writer_nam" + "e\030\003 \002(\t\"9\n\017IUResendRequest\022\013\n\003uid\030\001 \002(\t\022" + "\031\n\021hidden_scope_name\030\002 \002(\t\"\273\001\n\014IULinkUpd" + "ate\022\013\n\003uid\030\001 \002(\t\022\020\n\010revision\030\002 \002(\r\022+\n\tne" + "w_links\030\003 \003(\0132\030.ipaaca.protobuf.LinkSet\022" + "1\n\017links_to_remove\030\004 \003(\0132\030.ipaaca.protob" + "uf.LinkSet\022\027\n\010is_delta\030\005 \002(\010:\005false\022\023\n\013w" + "riter_name\030\006 \002(\t", 1056); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( + "ipaaca.proto", &protobuf_RegisterTypes); + IntMessage::default_instance_ = new IntMessage(); + LinkSet::default_instance_ = new LinkSet(); + PayloadItem::default_instance_ = new PayloadItem(); + IU::default_instance_ = new IU(); + IUPayloadUpdate::default_instance_ = new IUPayloadUpdate(); + IURetraction::default_instance_ = new IURetraction(); + IUCommission::default_instance_ = new IUCommission(); + IUResendRequest::default_instance_ = new IUResendRequest(); + IULinkUpdate::default_instance_ = new IULinkUpdate(); + IntMessage::default_instance_->InitAsDefaultInstance(); + LinkSet::default_instance_->InitAsDefaultInstance(); + PayloadItem::default_instance_->InitAsDefaultInstance(); + IU::default_instance_->InitAsDefaultInstance(); + IUPayloadUpdate::default_instance_->InitAsDefaultInstance(); + IURetraction::default_instance_->InitAsDefaultInstance(); + IUCommission::default_instance_->InitAsDefaultInstance(); + IUResendRequest::default_instance_->InitAsDefaultInstance(); + IULinkUpdate::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ipaaca_2eproto); +} + +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_ipaaca_2eproto { + StaticDescriptorInitializer_ipaaca_2eproto() { + protobuf_AddDesc_ipaaca_2eproto(); + } +} static_descriptor_initializer_ipaaca_2eproto_; + + +// =================================================================== + +#ifndef _MSC_VER +const int IntMessage::kValueFieldNumber; +#endif // !_MSC_VER + +IntMessage::IntMessage() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IntMessage::InitAsDefaultInstance() { +} + +IntMessage::IntMessage(const IntMessage& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IntMessage::SharedCtor() { + _cached_size_ = 0; + value_ = 0; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IntMessage::~IntMessage() { + SharedDtor(); +} + +void IntMessage::SharedDtor() { + if (this != default_instance_) { + } +} + +void IntMessage::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IntMessage::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IntMessage_descriptor_; +} + +const IntMessage& IntMessage::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IntMessage* IntMessage::default_instance_ = NULL; + +IntMessage* IntMessage::New() const { + return new IntMessage; +} + +void IntMessage::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + value_ = 0; + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IntMessage::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required sint32 value = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_SINT32>( + input, &value_))); + set_has_value(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IntMessage::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required sint32 value = 1; + if (has_value()) { + ::google::protobuf::internal::WireFormatLite::WriteSInt32(1, this->value(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IntMessage::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required sint32 value = 1; + if (has_value()) { + target = ::google::protobuf::internal::WireFormatLite::WriteSInt32ToArray(1, this->value(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IntMessage::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required sint32 value = 1; + if (has_value()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::SInt32Size( + this->value()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IntMessage::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IntMessage* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IntMessage*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IntMessage::MergeFrom(const IntMessage& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_value()) { + set_value(from.value()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IntMessage::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IntMessage::CopyFrom(const IntMessage& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IntMessage::IsInitialized() const { + if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; + + return true; +} + +void IntMessage::Swap(IntMessage* other) { + if (other != this) { + std::swap(value_, other->value_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IntMessage::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IntMessage_descriptor_; + metadata.reflection = IntMessage_reflection_; + return metadata; +} + + +// =================================================================== + +#ifndef _MSC_VER +const int LinkSet::kTypeFieldNumber; +const int LinkSet::kTargetsFieldNumber; +#endif // !_MSC_VER + +LinkSet::LinkSet() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void LinkSet::InitAsDefaultInstance() { +} + +LinkSet::LinkSet(const LinkSet& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void LinkSet::SharedCtor() { + _cached_size_ = 0; + type_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +LinkSet::~LinkSet() { + SharedDtor(); +} + +void LinkSet::SharedDtor() { + if (type_ != &::google::protobuf::internal::kEmptyString) { + delete type_; + } + if (this != default_instance_) { + } +} + +void LinkSet::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* LinkSet::descriptor() { + protobuf_AssignDescriptorsOnce(); + return LinkSet_descriptor_; +} + +const LinkSet& LinkSet::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +LinkSet* LinkSet::default_instance_ = NULL; + +LinkSet* LinkSet::New() const { + return new LinkSet; +} + +void LinkSet::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_type()) { + if (type_ != &::google::protobuf::internal::kEmptyString) { + type_->clear(); + } + } + } + targets_.Clear(); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool LinkSet::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string type = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_type())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(18)) goto parse_targets; + break; + } + + // repeated string targets = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_targets: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->add_targets())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->targets(0).data(), this->targets(0).length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(18)) goto parse_targets; + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void LinkSet::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string type = 1; + if (has_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->type(), output); + } + + // repeated string targets = 2; + for (int i = 0; i < this->targets_size(); i++) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->targets(i).data(), this->targets(i).length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 2, this->targets(i), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* LinkSet::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string type = 1; + if (has_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->type(), target); + } + + // repeated string targets = 2; + for (int i = 0; i < this->targets_size(); i++) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->targets(i).data(), this->targets(i).length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = ::google::protobuf::internal::WireFormatLite:: + WriteStringToArray(2, this->targets(i), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int LinkSet::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string type = 1; + if (has_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->type()); + } + + } + // repeated string targets = 2; + total_size += 1 * this->targets_size(); + for (int i = 0; i < this->targets_size(); i++) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this->targets(i)); + } + + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void LinkSet::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const LinkSet* source = + ::google::protobuf::internal::dynamic_cast_if_available<const LinkSet*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void LinkSet::MergeFrom(const LinkSet& from) { + GOOGLE_CHECK_NE(&from, this); + targets_.MergeFrom(from.targets_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_type()) { + set_type(from.type()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void LinkSet::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void LinkSet::CopyFrom(const LinkSet& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool LinkSet::IsInitialized() const { + if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; + + return true; +} + +void LinkSet::Swap(LinkSet* other) { + if (other != this) { + std::swap(type_, other->type_); + targets_.Swap(&other->targets_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata LinkSet::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = LinkSet_descriptor_; + metadata.reflection = LinkSet_reflection_; + return metadata; +} + + +// =================================================================== + +const ::std::string PayloadItem::_default_type_("str"); +#ifndef _MSC_VER +const int PayloadItem::kKeyFieldNumber; +const int PayloadItem::kValueFieldNumber; +const int PayloadItem::kTypeFieldNumber; +#endif // !_MSC_VER + +PayloadItem::PayloadItem() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void PayloadItem::InitAsDefaultInstance() { +} + +PayloadItem::PayloadItem(const PayloadItem& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void PayloadItem::SharedCtor() { + _cached_size_ = 0; + key_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + value_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + type_ = const_cast< ::std::string*>(&_default_type_); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +PayloadItem::~PayloadItem() { + SharedDtor(); +} + +void PayloadItem::SharedDtor() { + if (key_ != &::google::protobuf::internal::kEmptyString) { + delete key_; + } + if (value_ != &::google::protobuf::internal::kEmptyString) { + delete value_; + } + if (type_ != &_default_type_) { + delete type_; + } + if (this != default_instance_) { + } +} + +void PayloadItem::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* PayloadItem::descriptor() { + protobuf_AssignDescriptorsOnce(); + return PayloadItem_descriptor_; +} + +const PayloadItem& PayloadItem::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +PayloadItem* PayloadItem::default_instance_ = NULL; + +PayloadItem* PayloadItem::New() const { + return new PayloadItem; +} + +void PayloadItem::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_key()) { + if (key_ != &::google::protobuf::internal::kEmptyString) { + key_->clear(); + } + } + if (has_value()) { + if (value_ != &::google::protobuf::internal::kEmptyString) { + value_->clear(); + } + } + if (has_type()) { + if (type_ != &_default_type_) { + type_->assign(_default_type_); + } + } + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool PayloadItem::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string key = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_key())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->key().data(), this->key().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(18)) goto parse_value; + break; + } + + // required string value = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_value: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_value())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->value().data(), this->value().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_type; + break; + } + + // required string type = 3 [default = "str"]; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_type: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_type())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void PayloadItem::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string key = 1; + if (has_key()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->key().data(), this->key().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->key(), output); + } + + // required string value = 2; + if (has_value()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->value().data(), this->value().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 2, this->value(), output); + } + + // required string type = 3 [default = "str"]; + if (has_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 3, this->type(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* PayloadItem::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string key = 1; + if (has_key()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->key().data(), this->key().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->key(), target); + } + + // required string value = 2; + if (has_value()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->value().data(), this->value().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 2, this->value(), target); + } + + // required string type = 3 [default = "str"]; + if (has_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->type(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int PayloadItem::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string key = 1; + if (has_key()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->key()); + } + + // required string value = 2; + if (has_value()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->value()); + } + + // required string type = 3 [default = "str"]; + if (has_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->type()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void PayloadItem::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const PayloadItem* source = + ::google::protobuf::internal::dynamic_cast_if_available<const PayloadItem*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void PayloadItem::MergeFrom(const PayloadItem& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_key()) { + set_key(from.key()); + } + if (from.has_value()) { + set_value(from.value()); + } + if (from.has_type()) { + set_type(from.type()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void PayloadItem::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void PayloadItem::CopyFrom(const PayloadItem& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool PayloadItem::IsInitialized() const { + if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false; + + return true; +} + +void PayloadItem::Swap(PayloadItem* other) { + if (other != this) { + std::swap(key_, other->key_); + std::swap(value_, other->value_); + std::swap(type_, other->type_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata PayloadItem::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = PayloadItem_descriptor_; + metadata.reflection = PayloadItem_reflection_; + return metadata; +} + + +// =================================================================== + +const ::google::protobuf::EnumDescriptor* IU_AccessMode_descriptor() { + protobuf_AssignDescriptorsOnce(); + return IU_AccessMode_descriptor_; +} +bool IU_AccessMode_IsValid(int value) { + switch(value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + +#ifndef _MSC_VER +const IU_AccessMode IU::PUSH; +const IU_AccessMode IU::REMOTE; +const IU_AccessMode IU::MESSAGE; +const IU_AccessMode IU::AccessMode_MIN; +const IU_AccessMode IU::AccessMode_MAX; +const int IU::AccessMode_ARRAYSIZE; +#endif // _MSC_VER +const ::std::string IU::_default_category_("undef"); +const ::std::string IU::_default_payload_type_("MAP"); +#ifndef _MSC_VER +const int IU::kUidFieldNumber; +const int IU::kRevisionFieldNumber; +const int IU::kCategoryFieldNumber; +const int IU::kPayloadTypeFieldNumber; +const int IU::kOwnerNameFieldNumber; +const int IU::kCommittedFieldNumber; +const int IU::kAccessModeFieldNumber; +const int IU::kReadOnlyFieldNumber; +const int IU::kPayloadFieldNumber; +const int IU::kLinksFieldNumber; +#endif // !_MSC_VER + +IU::IU() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IU::InitAsDefaultInstance() { +} + +IU::IU(const IU& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IU::SharedCtor() { + _cached_size_ = 0; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + revision_ = 0u; + category_ = const_cast< ::std::string*>(&_default_category_); + payload_type_ = const_cast< ::std::string*>(&_default_payload_type_); + owner_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + committed_ = false; + access_mode_ = 0; + read_only_ = false; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IU::~IU() { + SharedDtor(); +} + +void IU::SharedDtor() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + delete uid_; + } + if (category_ != &_default_category_) { + delete category_; + } + if (payload_type_ != &_default_payload_type_) { + delete payload_type_; + } + if (owner_name_ != &::google::protobuf::internal::kEmptyString) { + delete owner_name_; + } + if (this != default_instance_) { + } +} + +void IU::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IU::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IU_descriptor_; +} + +const IU& IU::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IU* IU::default_instance_ = NULL; + +IU* IU::New() const { + return new IU; +} + +void IU::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_uid()) { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + } + revision_ = 0u; + if (has_category()) { + if (category_ != &_default_category_) { + category_->assign(_default_category_); + } + } + if (has_payload_type()) { + if (payload_type_ != &_default_payload_type_) { + payload_type_->assign(_default_payload_type_); + } + } + if (has_owner_name()) { + if (owner_name_ != &::google::protobuf::internal::kEmptyString) { + owner_name_->clear(); + } + } + committed_ = false; + access_mode_ = 0; + read_only_ = false; + } + payload_.Clear(); + links_.Clear(); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IU::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string uid = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_uid())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_revision; + break; + } + + // required uint32 revision = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_revision: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &revision_))); + set_has_revision(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_category; + break; + } + + // required string category = 3 [default = "undef"]; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_category: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_category())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->category().data(), this->category().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(34)) goto parse_payload_type; + break; + } + + // required string payload_type = 4 [default = "MAP"]; + case 4: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_payload_type: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_payload_type())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->payload_type().data(), this->payload_type().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(42)) goto parse_owner_name; + break; + } + + // required string owner_name = 5; + case 5: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_owner_name: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_owner_name())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->owner_name().data(), this->owner_name().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(48)) goto parse_committed; + break; + } + + // required bool committed = 6 [default = false]; + case 6: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_committed: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &committed_))); + set_has_committed(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(56)) goto parse_access_mode; + break; + } + + // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH]; + case 7: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_access_mode: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::ipaaca::protobuf::IU_AccessMode_IsValid(value)) { + set_access_mode(static_cast< ::ipaaca::protobuf::IU_AccessMode >(value)); + } else { + mutable_unknown_fields()->AddVarint(7, value); + } + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(64)) goto parse_read_only; + break; + } + + // required bool read_only = 8 [default = false]; + case 8: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_read_only: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &read_only_))); + set_has_read_only(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(74)) goto parse_payload; + break; + } + + // repeated .ipaaca.protobuf.PayloadItem payload = 9; + case 9: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_payload: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, add_payload())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(74)) goto parse_payload; + if (input->ExpectTag(82)) goto parse_links; + break; + } + + // repeated .ipaaca.protobuf.LinkSet links = 10; + case 10: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_links: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, add_links())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(82)) goto parse_links; + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IU::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->uid(), output); + } + + // required uint32 revision = 2; + if (has_revision()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output); + } + + // required string category = 3 [default = "undef"]; + if (has_category()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->category().data(), this->category().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 3, this->category(), output); + } + + // required string payload_type = 4 [default = "MAP"]; + if (has_payload_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->payload_type().data(), this->payload_type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 4, this->payload_type(), output); + } + + // required string owner_name = 5; + if (has_owner_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->owner_name().data(), this->owner_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 5, this->owner_name(), output); + } + + // required bool committed = 6 [default = false]; + if (has_committed()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->committed(), output); + } + + // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH]; + if (has_access_mode()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 7, this->access_mode(), output); + } + + // required bool read_only = 8 [default = false]; + if (has_read_only()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->read_only(), output); + } + + // repeated .ipaaca.protobuf.PayloadItem payload = 9; + for (int i = 0; i < this->payload_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 9, this->payload(i), output); + } + + // repeated .ipaaca.protobuf.LinkSet links = 10; + for (int i = 0; i < this->links_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 10, this->links(i), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IU::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->uid(), target); + } + + // required uint32 revision = 2; + if (has_revision()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target); + } + + // required string category = 3 [default = "undef"]; + if (has_category()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->category().data(), this->category().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->category(), target); + } + + // required string payload_type = 4 [default = "MAP"]; + if (has_payload_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->payload_type().data(), this->payload_type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->payload_type(), target); + } + + // required string owner_name = 5; + if (has_owner_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->owner_name().data(), this->owner_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->owner_name(), target); + } + + // required bool committed = 6 [default = false]; + if (has_committed()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->committed(), target); + } + + // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH]; + if (has_access_mode()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 7, this->access_mode(), target); + } + + // required bool read_only = 8 [default = false]; + if (has_read_only()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->read_only(), target); + } + + // repeated .ipaaca.protobuf.PayloadItem payload = 9; + for (int i = 0; i < this->payload_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 9, this->payload(i), target); + } + + // repeated .ipaaca.protobuf.LinkSet links = 10; + for (int i = 0; i < this->links_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 10, this->links(i), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IU::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string uid = 1; + if (has_uid()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->uid()); + } + + // required uint32 revision = 2; + if (has_revision()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->revision()); + } + + // required string category = 3 [default = "undef"]; + if (has_category()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->category()); + } + + // required string payload_type = 4 [default = "MAP"]; + if (has_payload_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->payload_type()); + } + + // required string owner_name = 5; + if (has_owner_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->owner_name()); + } + + // required bool committed = 6 [default = false]; + if (has_committed()) { + total_size += 1 + 1; + } + + // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH]; + if (has_access_mode()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->access_mode()); + } + + // required bool read_only = 8 [default = false]; + if (has_read_only()) { + total_size += 1 + 1; + } + + } + // repeated .ipaaca.protobuf.PayloadItem payload = 9; + total_size += 1 * this->payload_size(); + for (int i = 0; i < this->payload_size(); i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->payload(i)); + } + + // repeated .ipaaca.protobuf.LinkSet links = 10; + total_size += 1 * this->links_size(); + for (int i = 0; i < this->links_size(); i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->links(i)); + } + + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IU::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IU* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IU*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IU::MergeFrom(const IU& from) { + GOOGLE_CHECK_NE(&from, this); + payload_.MergeFrom(from.payload_); + links_.MergeFrom(from.links_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_uid()) { + set_uid(from.uid()); + } + if (from.has_revision()) { + set_revision(from.revision()); + } + if (from.has_category()) { + set_category(from.category()); + } + if (from.has_payload_type()) { + set_payload_type(from.payload_type()); + } + if (from.has_owner_name()) { + set_owner_name(from.owner_name()); + } + if (from.has_committed()) { + set_committed(from.committed()); + } + if (from.has_access_mode()) { + set_access_mode(from.access_mode()); + } + if (from.has_read_only()) { + set_read_only(from.read_only()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IU::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IU::CopyFrom(const IU& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IU::IsInitialized() const { + if ((_has_bits_[0] & 0x000000ff) != 0x000000ff) return false; + + for (int i = 0; i < payload_size(); i++) { + if (!this->payload(i).IsInitialized()) return false; + } + for (int i = 0; i < links_size(); i++) { + if (!this->links(i).IsInitialized()) return false; + } + return true; +} + +void IU::Swap(IU* other) { + if (other != this) { + std::swap(uid_, other->uid_); + std::swap(revision_, other->revision_); + std::swap(category_, other->category_); + std::swap(payload_type_, other->payload_type_); + std::swap(owner_name_, other->owner_name_); + std::swap(committed_, other->committed_); + std::swap(access_mode_, other->access_mode_); + std::swap(read_only_, other->read_only_); + payload_.Swap(&other->payload_); + links_.Swap(&other->links_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IU::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IU_descriptor_; + metadata.reflection = IU_reflection_; + return metadata; +} + + +// =================================================================== + +#ifndef _MSC_VER +const int IUPayloadUpdate::kUidFieldNumber; +const int IUPayloadUpdate::kRevisionFieldNumber; +const int IUPayloadUpdate::kNewItemsFieldNumber; +const int IUPayloadUpdate::kKeysToRemoveFieldNumber; +const int IUPayloadUpdate::kIsDeltaFieldNumber; +const int IUPayloadUpdate::kWriterNameFieldNumber; +#endif // !_MSC_VER + +IUPayloadUpdate::IUPayloadUpdate() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IUPayloadUpdate::InitAsDefaultInstance() { +} + +IUPayloadUpdate::IUPayloadUpdate(const IUPayloadUpdate& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IUPayloadUpdate::SharedCtor() { + _cached_size_ = 0; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + revision_ = 0u; + is_delta_ = false; + writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IUPayloadUpdate::~IUPayloadUpdate() { + SharedDtor(); +} + +void IUPayloadUpdate::SharedDtor() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + delete uid_; + } + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + delete writer_name_; + } + if (this != default_instance_) { + } +} + +void IUPayloadUpdate::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IUPayloadUpdate::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IUPayloadUpdate_descriptor_; +} + +const IUPayloadUpdate& IUPayloadUpdate::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IUPayloadUpdate* IUPayloadUpdate::default_instance_ = NULL; + +IUPayloadUpdate* IUPayloadUpdate::New() const { + return new IUPayloadUpdate; +} + +void IUPayloadUpdate::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_uid()) { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + } + revision_ = 0u; + is_delta_ = false; + if (has_writer_name()) { + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + writer_name_->clear(); + } + } + } + new_items_.Clear(); + keys_to_remove_.Clear(); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IUPayloadUpdate::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string uid = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_uid())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_revision; + break; + } + + // required uint32 revision = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_revision: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &revision_))); + set_has_revision(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_new_items; + break; + } + + // repeated .ipaaca.protobuf.PayloadItem new_items = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_new_items: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, add_new_items())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_new_items; + if (input->ExpectTag(34)) goto parse_keys_to_remove; + break; + } + + // repeated string keys_to_remove = 4; + case 4: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_keys_to_remove: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->add_keys_to_remove())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->keys_to_remove(0).data(), this->keys_to_remove(0).length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(34)) goto parse_keys_to_remove; + if (input->ExpectTag(40)) goto parse_is_delta; + break; + } + + // required bool is_delta = 5 [default = false]; + case 5: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_is_delta: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &is_delta_))); + set_has_is_delta(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(50)) goto parse_writer_name; + break; + } + + // required string writer_name = 6; + case 6: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_writer_name: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_writer_name())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IUPayloadUpdate::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->uid(), output); + } + + // required uint32 revision = 2; + if (has_revision()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output); + } + + // repeated .ipaaca.protobuf.PayloadItem new_items = 3; + for (int i = 0; i < this->new_items_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, this->new_items(i), output); + } + + // repeated string keys_to_remove = 4; + for (int i = 0; i < this->keys_to_remove_size(); i++) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->keys_to_remove(i).data(), this->keys_to_remove(i).length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 4, this->keys_to_remove(i), output); + } + + // required bool is_delta = 5 [default = false]; + if (has_is_delta()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->is_delta(), output); + } + + // required string writer_name = 6; + if (has_writer_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 6, this->writer_name(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IUPayloadUpdate::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->uid(), target); + } + + // required uint32 revision = 2; + if (has_revision()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target); + } + + // repeated .ipaaca.protobuf.PayloadItem new_items = 3; + for (int i = 0; i < this->new_items_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 3, this->new_items(i), target); + } + + // repeated string keys_to_remove = 4; + for (int i = 0; i < this->keys_to_remove_size(); i++) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->keys_to_remove(i).data(), this->keys_to_remove(i).length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = ::google::protobuf::internal::WireFormatLite:: + WriteStringToArray(4, this->keys_to_remove(i), target); + } + + // required bool is_delta = 5 [default = false]; + if (has_is_delta()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->is_delta(), target); + } + + // required string writer_name = 6; + if (has_writer_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->writer_name(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IUPayloadUpdate::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string uid = 1; + if (has_uid()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->uid()); + } + + // required uint32 revision = 2; + if (has_revision()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->revision()); + } + + // required bool is_delta = 5 [default = false]; + if (has_is_delta()) { + total_size += 1 + 1; + } + + // required string writer_name = 6; + if (has_writer_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->writer_name()); + } + + } + // repeated .ipaaca.protobuf.PayloadItem new_items = 3; + total_size += 1 * this->new_items_size(); + for (int i = 0; i < this->new_items_size(); i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->new_items(i)); + } + + // repeated string keys_to_remove = 4; + total_size += 1 * this->keys_to_remove_size(); + for (int i = 0; i < this->keys_to_remove_size(); i++) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this->keys_to_remove(i)); + } + + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IUPayloadUpdate::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IUPayloadUpdate* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IUPayloadUpdate*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IUPayloadUpdate::MergeFrom(const IUPayloadUpdate& from) { + GOOGLE_CHECK_NE(&from, this); + new_items_.MergeFrom(from.new_items_); + keys_to_remove_.MergeFrom(from.keys_to_remove_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_uid()) { + set_uid(from.uid()); + } + if (from.has_revision()) { + set_revision(from.revision()); + } + if (from.has_is_delta()) { + set_is_delta(from.is_delta()); + } + if (from.has_writer_name()) { + set_writer_name(from.writer_name()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IUPayloadUpdate::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IUPayloadUpdate::CopyFrom(const IUPayloadUpdate& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IUPayloadUpdate::IsInitialized() const { + if ((_has_bits_[0] & 0x00000033) != 0x00000033) return false; + + for (int i = 0; i < new_items_size(); i++) { + if (!this->new_items(i).IsInitialized()) return false; + } + return true; +} + +void IUPayloadUpdate::Swap(IUPayloadUpdate* other) { + if (other != this) { + std::swap(uid_, other->uid_); + std::swap(revision_, other->revision_); + new_items_.Swap(&other->new_items_); + keys_to_remove_.Swap(&other->keys_to_remove_); + std::swap(is_delta_, other->is_delta_); + std::swap(writer_name_, other->writer_name_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IUPayloadUpdate::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IUPayloadUpdate_descriptor_; + metadata.reflection = IUPayloadUpdate_reflection_; + return metadata; +} + + +// =================================================================== + +#ifndef _MSC_VER +const int IURetraction::kUidFieldNumber; +const int IURetraction::kRevisionFieldNumber; +#endif // !_MSC_VER + +IURetraction::IURetraction() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IURetraction::InitAsDefaultInstance() { +} + +IURetraction::IURetraction(const IURetraction& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IURetraction::SharedCtor() { + _cached_size_ = 0; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + revision_ = 0u; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IURetraction::~IURetraction() { + SharedDtor(); +} + +void IURetraction::SharedDtor() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + delete uid_; + } + if (this != default_instance_) { + } +} + +void IURetraction::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IURetraction::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IURetraction_descriptor_; +} + +const IURetraction& IURetraction::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IURetraction* IURetraction::default_instance_ = NULL; + +IURetraction* IURetraction::New() const { + return new IURetraction; +} + +void IURetraction::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_uid()) { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + } + revision_ = 0u; + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IURetraction::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string uid = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_uid())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_revision; + break; + } + + // required uint32 revision = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_revision: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &revision_))); + set_has_revision(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IURetraction::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->uid(), output); + } + + // required uint32 revision = 2; + if (has_revision()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IURetraction::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->uid(), target); + } + + // required uint32 revision = 2; + if (has_revision()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IURetraction::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string uid = 1; + if (has_uid()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->uid()); + } + + // required uint32 revision = 2; + if (has_revision()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->revision()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IURetraction::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IURetraction* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IURetraction*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IURetraction::MergeFrom(const IURetraction& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_uid()) { + set_uid(from.uid()); + } + if (from.has_revision()) { + set_revision(from.revision()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IURetraction::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IURetraction::CopyFrom(const IURetraction& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IURetraction::IsInitialized() const { + if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false; + + return true; +} + +void IURetraction::Swap(IURetraction* other) { + if (other != this) { + std::swap(uid_, other->uid_); + std::swap(revision_, other->revision_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IURetraction::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IURetraction_descriptor_; + metadata.reflection = IURetraction_reflection_; + return metadata; +} + + +// =================================================================== + +#ifndef _MSC_VER +const int IUCommission::kUidFieldNumber; +const int IUCommission::kRevisionFieldNumber; +const int IUCommission::kWriterNameFieldNumber; +#endif // !_MSC_VER + +IUCommission::IUCommission() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IUCommission::InitAsDefaultInstance() { +} + +IUCommission::IUCommission(const IUCommission& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IUCommission::SharedCtor() { + _cached_size_ = 0; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + revision_ = 0u; + writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IUCommission::~IUCommission() { + SharedDtor(); +} + +void IUCommission::SharedDtor() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + delete uid_; + } + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + delete writer_name_; + } + if (this != default_instance_) { + } +} + +void IUCommission::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IUCommission::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IUCommission_descriptor_; +} + +const IUCommission& IUCommission::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IUCommission* IUCommission::default_instance_ = NULL; + +IUCommission* IUCommission::New() const { + return new IUCommission; +} + +void IUCommission::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_uid()) { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + } + revision_ = 0u; + if (has_writer_name()) { + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + writer_name_->clear(); + } + } + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IUCommission::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string uid = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_uid())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_revision; + break; + } + + // required uint32 revision = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_revision: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &revision_))); + set_has_revision(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_writer_name; + break; + } + + // required string writer_name = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_writer_name: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_writer_name())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IUCommission::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->uid(), output); + } + + // required uint32 revision = 2; + if (has_revision()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output); + } + + // required string writer_name = 3; + if (has_writer_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 3, this->writer_name(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IUCommission::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->uid(), target); + } + + // required uint32 revision = 2; + if (has_revision()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target); + } + + // required string writer_name = 3; + if (has_writer_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->writer_name(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IUCommission::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string uid = 1; + if (has_uid()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->uid()); + } + + // required uint32 revision = 2; + if (has_revision()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->revision()); + } + + // required string writer_name = 3; + if (has_writer_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->writer_name()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IUCommission::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IUCommission* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IUCommission*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IUCommission::MergeFrom(const IUCommission& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_uid()) { + set_uid(from.uid()); + } + if (from.has_revision()) { + set_revision(from.revision()); + } + if (from.has_writer_name()) { + set_writer_name(from.writer_name()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IUCommission::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IUCommission::CopyFrom(const IUCommission& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IUCommission::IsInitialized() const { + if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false; + + return true; +} + +void IUCommission::Swap(IUCommission* other) { + if (other != this) { + std::swap(uid_, other->uid_); + std::swap(revision_, other->revision_); + std::swap(writer_name_, other->writer_name_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IUCommission::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IUCommission_descriptor_; + metadata.reflection = IUCommission_reflection_; + return metadata; +} + + +// =================================================================== + +#ifndef _MSC_VER +const int IUResendRequest::kUidFieldNumber; +const int IUResendRequest::kHiddenScopeNameFieldNumber; +#endif // !_MSC_VER + +IUResendRequest::IUResendRequest() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IUResendRequest::InitAsDefaultInstance() { +} + +IUResendRequest::IUResendRequest(const IUResendRequest& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IUResendRequest::SharedCtor() { + _cached_size_ = 0; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + hidden_scope_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IUResendRequest::~IUResendRequest() { + SharedDtor(); +} + +void IUResendRequest::SharedDtor() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + delete uid_; + } + if (hidden_scope_name_ != &::google::protobuf::internal::kEmptyString) { + delete hidden_scope_name_; + } + if (this != default_instance_) { + } +} + +void IUResendRequest::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IUResendRequest::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IUResendRequest_descriptor_; +} + +const IUResendRequest& IUResendRequest::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IUResendRequest* IUResendRequest::default_instance_ = NULL; + +IUResendRequest* IUResendRequest::New() const { + return new IUResendRequest; +} + +void IUResendRequest::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_uid()) { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + } + if (has_hidden_scope_name()) { + if (hidden_scope_name_ != &::google::protobuf::internal::kEmptyString) { + hidden_scope_name_->clear(); + } + } + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IUResendRequest::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string uid = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_uid())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(18)) goto parse_hidden_scope_name; + break; + } + + // required string hidden_scope_name = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_hidden_scope_name: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_hidden_scope_name())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->hidden_scope_name().data(), this->hidden_scope_name().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IUResendRequest::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->uid(), output); + } + + // required string hidden_scope_name = 2; + if (has_hidden_scope_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->hidden_scope_name().data(), this->hidden_scope_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 2, this->hidden_scope_name(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IUResendRequest::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->uid(), target); + } + + // required string hidden_scope_name = 2; + if (has_hidden_scope_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->hidden_scope_name().data(), this->hidden_scope_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 2, this->hidden_scope_name(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IUResendRequest::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string uid = 1; + if (has_uid()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->uid()); + } + + // required string hidden_scope_name = 2; + if (has_hidden_scope_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->hidden_scope_name()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IUResendRequest::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IUResendRequest* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IUResendRequest*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IUResendRequest::MergeFrom(const IUResendRequest& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_uid()) { + set_uid(from.uid()); + } + if (from.has_hidden_scope_name()) { + set_hidden_scope_name(from.hidden_scope_name()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IUResendRequest::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IUResendRequest::CopyFrom(const IUResendRequest& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IUResendRequest::IsInitialized() const { + if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false; + + return true; +} + +void IUResendRequest::Swap(IUResendRequest* other) { + if (other != this) { + std::swap(uid_, other->uid_); + std::swap(hidden_scope_name_, other->hidden_scope_name_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IUResendRequest::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IUResendRequest_descriptor_; + metadata.reflection = IUResendRequest_reflection_; + return metadata; +} + + +// =================================================================== + +#ifndef _MSC_VER +const int IULinkUpdate::kUidFieldNumber; +const int IULinkUpdate::kRevisionFieldNumber; +const int IULinkUpdate::kNewLinksFieldNumber; +const int IULinkUpdate::kLinksToRemoveFieldNumber; +const int IULinkUpdate::kIsDeltaFieldNumber; +const int IULinkUpdate::kWriterNameFieldNumber; +#endif // !_MSC_VER + +IULinkUpdate::IULinkUpdate() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void IULinkUpdate::InitAsDefaultInstance() { +} + +IULinkUpdate::IULinkUpdate(const IULinkUpdate& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void IULinkUpdate::SharedCtor() { + _cached_size_ = 0; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + revision_ = 0u; + is_delta_ = false; + writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +IULinkUpdate::~IULinkUpdate() { + SharedDtor(); +} + +void IULinkUpdate::SharedDtor() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + delete uid_; + } + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + delete writer_name_; + } + if (this != default_instance_) { + } +} + +void IULinkUpdate::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* IULinkUpdate::descriptor() { + protobuf_AssignDescriptorsOnce(); + return IULinkUpdate_descriptor_; +} + +const IULinkUpdate& IULinkUpdate::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto(); return *default_instance_; +} + +IULinkUpdate* IULinkUpdate::default_instance_ = NULL; + +IULinkUpdate* IULinkUpdate::New() const { + return new IULinkUpdate; +} + +void IULinkUpdate::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_uid()) { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + } + revision_ = 0u; + is_delta_ = false; + if (has_writer_name()) { + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + writer_name_->clear(); + } + } + } + new_links_.Clear(); + links_to_remove_.Clear(); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool IULinkUpdate::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string uid = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_uid())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_revision; + break; + } + + // required uint32 revision = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_revision: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &revision_))); + set_has_revision(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_new_links; + break; + } + + // repeated .ipaaca.protobuf.LinkSet new_links = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_new_links: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, add_new_links())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(26)) goto parse_new_links; + if (input->ExpectTag(34)) goto parse_links_to_remove; + break; + } + + // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4; + case 4: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_links_to_remove: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, add_links_to_remove())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(34)) goto parse_links_to_remove; + if (input->ExpectTag(40)) goto parse_is_delta; + break; + } + + // required bool is_delta = 5 [default = false]; + case 5: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_is_delta: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &is_delta_))); + set_has_is_delta(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(50)) goto parse_writer_name; + break; + } + + // required string writer_name = 6; + case 6: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_writer_name: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_writer_name())); + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::PARSE); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void IULinkUpdate::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->uid(), output); + } + + // required uint32 revision = 2; + if (has_revision()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output); + } + + // repeated .ipaaca.protobuf.LinkSet new_links = 3; + for (int i = 0; i < this->new_links_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, this->new_links(i), output); + } + + // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4; + for (int i = 0; i < this->links_to_remove_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 4, this->links_to_remove(i), output); + } + + // required bool is_delta = 5 [default = false]; + if (has_is_delta()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->is_delta(), output); + } + + // required string writer_name = 6; + if (has_writer_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + ::google::protobuf::internal::WireFormatLite::WriteString( + 6, this->writer_name(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* IULinkUpdate::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required string uid = 1; + if (has_uid()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->uid().data(), this->uid().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->uid(), target); + } + + // required uint32 revision = 2; + if (has_revision()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target); + } + + // repeated .ipaaca.protobuf.LinkSet new_links = 3; + for (int i = 0; i < this->new_links_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 3, this->new_links(i), target); + } + + // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4; + for (int i = 0; i < this->links_to_remove_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 4, this->links_to_remove(i), target); + } + + // required bool is_delta = 5 [default = false]; + if (has_is_delta()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->is_delta(), target); + } + + // required string writer_name = 6; + if (has_writer_name()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8String( + this->writer_name().data(), this->writer_name().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 6, this->writer_name(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int IULinkUpdate::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string uid = 1; + if (has_uid()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->uid()); + } + + // required uint32 revision = 2; + if (has_revision()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->revision()); + } + + // required bool is_delta = 5 [default = false]; + if (has_is_delta()) { + total_size += 1 + 1; + } + + // required string writer_name = 6; + if (has_writer_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->writer_name()); + } + + } + // repeated .ipaaca.protobuf.LinkSet new_links = 3; + total_size += 1 * this->new_links_size(); + for (int i = 0; i < this->new_links_size(); i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->new_links(i)); + } + + // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4; + total_size += 1 * this->links_to_remove_size(); + for (int i = 0; i < this->links_to_remove_size(); i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->links_to_remove(i)); + } + + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void IULinkUpdate::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const IULinkUpdate* source = + ::google::protobuf::internal::dynamic_cast_if_available<const IULinkUpdate*>( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void IULinkUpdate::MergeFrom(const IULinkUpdate& from) { + GOOGLE_CHECK_NE(&from, this); + new_links_.MergeFrom(from.new_links_); + links_to_remove_.MergeFrom(from.links_to_remove_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_uid()) { + set_uid(from.uid()); + } + if (from.has_revision()) { + set_revision(from.revision()); + } + if (from.has_is_delta()) { + set_is_delta(from.is_delta()); + } + if (from.has_writer_name()) { + set_writer_name(from.writer_name()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void IULinkUpdate::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void IULinkUpdate::CopyFrom(const IULinkUpdate& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool IULinkUpdate::IsInitialized() const { + if ((_has_bits_[0] & 0x00000033) != 0x00000033) return false; + + for (int i = 0; i < new_links_size(); i++) { + if (!this->new_links(i).IsInitialized()) return false; + } + for (int i = 0; i < links_to_remove_size(); i++) { + if (!this->links_to_remove(i).IsInitialized()) return false; + } + return true; +} + +void IULinkUpdate::Swap(IULinkUpdate* other) { + if (other != this) { + std::swap(uid_, other->uid_); + std::swap(revision_, other->revision_); + new_links_.Swap(&other->new_links_); + links_to_remove_.Swap(&other->links_to_remove_); + std::swap(is_delta_, other->is_delta_); + std::swap(writer_name_, other->writer_name_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata IULinkUpdate::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = IULinkUpdate_descriptor_; + metadata.reflection = IULinkUpdate_reflection_; + return metadata; +} + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace ipaaca + +// @@protoc_insertion_point(global_scope) diff --git a/ipaacalib/cpp/ipaaca.pb.h b/ipaacalib/cpp/ipaaca.pb.h new file mode 100644 index 0000000000000000000000000000000000000000..2947a1fd5f80a33337e74e1dfe0b069256322679 --- /dev/null +++ b/ipaacalib/cpp/ipaaca.pb.h @@ -0,0 +1,2691 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ipaaca.proto + +#ifndef PROTOBUF_ipaaca_2eproto__INCLUDED +#define PROTOBUF_ipaaca_2eproto__INCLUDED + +#include <string> + +#include <google/protobuf/stubs/common.h> + +#if GOOGLE_PROTOBUF_VERSION < 2004000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 2004001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include <google/protobuf/generated_message_util.h> +#include <google/protobuf/repeated_field.h> +#include <google/protobuf/extension_set.h> +#include <google/protobuf/generated_message_reflection.h> +// @@protoc_insertion_point(includes) + +namespace ipaaca { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void protobuf_AddDesc_ipaaca_2eproto(); +void protobuf_AssignDesc_ipaaca_2eproto(); +void protobuf_ShutdownFile_ipaaca_2eproto(); + +class IntMessage; +class LinkSet; +class PayloadItem; +class IU; +class IUPayloadUpdate; +class IURetraction; +class IUCommission; +class IUResendRequest; +class IULinkUpdate; + +enum IU_AccessMode { + IU_AccessMode_PUSH = 0, + IU_AccessMode_REMOTE = 1, + IU_AccessMode_MESSAGE = 2 +}; +bool IU_AccessMode_IsValid(int value); +const IU_AccessMode IU_AccessMode_AccessMode_MIN = IU_AccessMode_PUSH; +const IU_AccessMode IU_AccessMode_AccessMode_MAX = IU_AccessMode_MESSAGE; +const int IU_AccessMode_AccessMode_ARRAYSIZE = IU_AccessMode_AccessMode_MAX + 1; + +const ::google::protobuf::EnumDescriptor* IU_AccessMode_descriptor(); +inline const ::std::string& IU_AccessMode_Name(IU_AccessMode value) { + return ::google::protobuf::internal::NameOfEnum( + IU_AccessMode_descriptor(), value); +} +inline bool IU_AccessMode_Parse( + const ::std::string& name, IU_AccessMode* value) { + return ::google::protobuf::internal::ParseNamedEnum<IU_AccessMode>( + IU_AccessMode_descriptor(), name, value); +} +// =================================================================== + +class IntMessage : public ::google::protobuf::Message { + public: + IntMessage(); + virtual ~IntMessage(); + + IntMessage(const IntMessage& from); + + inline IntMessage& operator=(const IntMessage& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IntMessage& default_instance(); + + void Swap(IntMessage* other); + + // implements Message ---------------------------------------------- + + IntMessage* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IntMessage& from); + void MergeFrom(const IntMessage& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required sint32 value = 1; + inline bool has_value() const; + inline void clear_value(); + static const int kValueFieldNumber = 1; + inline ::google::protobuf::int32 value() const; + inline void set_value(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IntMessage) + private: + inline void set_has_value(); + inline void clear_has_value(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::int32 value_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IntMessage* default_instance_; +}; +// ------------------------------------------------------------------- + +class LinkSet : public ::google::protobuf::Message { + public: + LinkSet(); + virtual ~LinkSet(); + + LinkSet(const LinkSet& from); + + inline LinkSet& operator=(const LinkSet& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const LinkSet& default_instance(); + + void Swap(LinkSet* other); + + // implements Message ---------------------------------------------- + + LinkSet* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const LinkSet& from); + void MergeFrom(const LinkSet& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string type = 1; + inline bool has_type() const; + inline void clear_type(); + static const int kTypeFieldNumber = 1; + inline const ::std::string& type() const; + inline void set_type(const ::std::string& value); + inline void set_type(const char* value); + inline void set_type(const char* value, size_t size); + inline ::std::string* mutable_type(); + inline ::std::string* release_type(); + + // repeated string targets = 2; + inline int targets_size() const; + inline void clear_targets(); + static const int kTargetsFieldNumber = 2; + inline const ::std::string& targets(int index) const; + inline ::std::string* mutable_targets(int index); + inline void set_targets(int index, const ::std::string& value); + inline void set_targets(int index, const char* value); + inline void set_targets(int index, const char* value, size_t size); + inline ::std::string* add_targets(); + inline void add_targets(const ::std::string& value); + inline void add_targets(const char* value); + inline void add_targets(const char* value, size_t size); + inline const ::google::protobuf::RepeatedPtrField< ::std::string>& targets() const; + inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_targets(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.LinkSet) + private: + inline void set_has_type(); + inline void clear_has_type(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* type_; + ::google::protobuf::RepeatedPtrField< ::std::string> targets_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static LinkSet* default_instance_; +}; +// ------------------------------------------------------------------- + +class PayloadItem : public ::google::protobuf::Message { + public: + PayloadItem(); + virtual ~PayloadItem(); + + PayloadItem(const PayloadItem& from); + + inline PayloadItem& operator=(const PayloadItem& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const PayloadItem& default_instance(); + + void Swap(PayloadItem* other); + + // implements Message ---------------------------------------------- + + PayloadItem* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const PayloadItem& from); + void MergeFrom(const PayloadItem& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string key = 1; + inline bool has_key() const; + inline void clear_key(); + static const int kKeyFieldNumber = 1; + inline const ::std::string& key() const; + inline void set_key(const ::std::string& value); + inline void set_key(const char* value); + inline void set_key(const char* value, size_t size); + inline ::std::string* mutable_key(); + inline ::std::string* release_key(); + + // required string value = 2; + inline bool has_value() const; + inline void clear_value(); + static const int kValueFieldNumber = 2; + inline const ::std::string& value() const; + inline void set_value(const ::std::string& value); + inline void set_value(const char* value); + inline void set_value(const char* value, size_t size); + inline ::std::string* mutable_value(); + inline ::std::string* release_value(); + + // required string type = 3 [default = "str"]; + inline bool has_type() const; + inline void clear_type(); + static const int kTypeFieldNumber = 3; + inline const ::std::string& type() const; + inline void set_type(const ::std::string& value); + inline void set_type(const char* value); + inline void set_type(const char* value, size_t size); + inline ::std::string* mutable_type(); + inline ::std::string* release_type(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.PayloadItem) + private: + inline void set_has_key(); + inline void clear_has_key(); + inline void set_has_value(); + inline void clear_has_value(); + inline void set_has_type(); + inline void clear_has_type(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* key_; + ::std::string* value_; + ::std::string* type_; + static const ::std::string _default_type_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static PayloadItem* default_instance_; +}; +// ------------------------------------------------------------------- + +class IU : public ::google::protobuf::Message { + public: + IU(); + virtual ~IU(); + + IU(const IU& from); + + inline IU& operator=(const IU& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IU& default_instance(); + + void Swap(IU* other); + + // implements Message ---------------------------------------------- + + IU* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IU& from); + void MergeFrom(const IU& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef IU_AccessMode AccessMode; + static const AccessMode PUSH = IU_AccessMode_PUSH; + static const AccessMode REMOTE = IU_AccessMode_REMOTE; + static const AccessMode MESSAGE = IU_AccessMode_MESSAGE; + static inline bool AccessMode_IsValid(int value) { + return IU_AccessMode_IsValid(value); + } + static const AccessMode AccessMode_MIN = + IU_AccessMode_AccessMode_MIN; + static const AccessMode AccessMode_MAX = + IU_AccessMode_AccessMode_MAX; + static const int AccessMode_ARRAYSIZE = + IU_AccessMode_AccessMode_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + AccessMode_descriptor() { + return IU_AccessMode_descriptor(); + } + static inline const ::std::string& AccessMode_Name(AccessMode value) { + return IU_AccessMode_Name(value); + } + static inline bool AccessMode_Parse(const ::std::string& name, + AccessMode* value) { + return IU_AccessMode_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // required string uid = 1; + inline bool has_uid() const; + inline void clear_uid(); + static const int kUidFieldNumber = 1; + inline const ::std::string& uid() const; + inline void set_uid(const ::std::string& value); + inline void set_uid(const char* value); + inline void set_uid(const char* value, size_t size); + inline ::std::string* mutable_uid(); + inline ::std::string* release_uid(); + + // required uint32 revision = 2; + inline bool has_revision() const; + inline void clear_revision(); + static const int kRevisionFieldNumber = 2; + inline ::google::protobuf::uint32 revision() const; + inline void set_revision(::google::protobuf::uint32 value); + + // required string category = 3 [default = "undef"]; + inline bool has_category() const; + inline void clear_category(); + static const int kCategoryFieldNumber = 3; + inline const ::std::string& category() const; + inline void set_category(const ::std::string& value); + inline void set_category(const char* value); + inline void set_category(const char* value, size_t size); + inline ::std::string* mutable_category(); + inline ::std::string* release_category(); + + // required string payload_type = 4 [default = "MAP"]; + inline bool has_payload_type() const; + inline void clear_payload_type(); + static const int kPayloadTypeFieldNumber = 4; + inline const ::std::string& payload_type() const; + inline void set_payload_type(const ::std::string& value); + inline void set_payload_type(const char* value); + inline void set_payload_type(const char* value, size_t size); + inline ::std::string* mutable_payload_type(); + inline ::std::string* release_payload_type(); + + // required string owner_name = 5; + inline bool has_owner_name() const; + inline void clear_owner_name(); + static const int kOwnerNameFieldNumber = 5; + inline const ::std::string& owner_name() const; + inline void set_owner_name(const ::std::string& value); + inline void set_owner_name(const char* value); + inline void set_owner_name(const char* value, size_t size); + inline ::std::string* mutable_owner_name(); + inline ::std::string* release_owner_name(); + + // required bool committed = 6 [default = false]; + inline bool has_committed() const; + inline void clear_committed(); + static const int kCommittedFieldNumber = 6; + inline bool committed() const; + inline void set_committed(bool value); + + // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH]; + inline bool has_access_mode() const; + inline void clear_access_mode(); + static const int kAccessModeFieldNumber = 7; + inline ::ipaaca::protobuf::IU_AccessMode access_mode() const; + inline void set_access_mode(::ipaaca::protobuf::IU_AccessMode value); + + // required bool read_only = 8 [default = false]; + inline bool has_read_only() const; + inline void clear_read_only(); + static const int kReadOnlyFieldNumber = 8; + inline bool read_only() const; + inline void set_read_only(bool value); + + // repeated .ipaaca.protobuf.PayloadItem payload = 9; + inline int payload_size() const; + inline void clear_payload(); + static const int kPayloadFieldNumber = 9; + inline const ::ipaaca::protobuf::PayloadItem& payload(int index) const; + inline ::ipaaca::protobuf::PayloadItem* mutable_payload(int index); + inline ::ipaaca::protobuf::PayloadItem* add_payload(); + inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >& + payload() const; + inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >* + mutable_payload(); + + // repeated .ipaaca.protobuf.LinkSet links = 10; + inline int links_size() const; + inline void clear_links(); + static const int kLinksFieldNumber = 10; + inline const ::ipaaca::protobuf::LinkSet& links(int index) const; + inline ::ipaaca::protobuf::LinkSet* mutable_links(int index); + inline ::ipaaca::protobuf::LinkSet* add_links(); + inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >& + links() const; + inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >* + mutable_links(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IU) + private: + inline void set_has_uid(); + inline void clear_has_uid(); + inline void set_has_revision(); + inline void clear_has_revision(); + inline void set_has_category(); + inline void clear_has_category(); + inline void set_has_payload_type(); + inline void clear_has_payload_type(); + inline void set_has_owner_name(); + inline void clear_has_owner_name(); + inline void set_has_committed(); + inline void clear_has_committed(); + inline void set_has_access_mode(); + inline void clear_has_access_mode(); + inline void set_has_read_only(); + inline void clear_has_read_only(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* uid_; + ::std::string* category_; + static const ::std::string _default_category_; + ::std::string* payload_type_; + static const ::std::string _default_payload_type_; + ::google::protobuf::uint32 revision_; + int access_mode_; + ::std::string* owner_name_; + ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem > payload_; + ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet > links_; + bool committed_; + bool read_only_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(10 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IU* default_instance_; +}; +// ------------------------------------------------------------------- + +class IUPayloadUpdate : public ::google::protobuf::Message { + public: + IUPayloadUpdate(); + virtual ~IUPayloadUpdate(); + + IUPayloadUpdate(const IUPayloadUpdate& from); + + inline IUPayloadUpdate& operator=(const IUPayloadUpdate& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IUPayloadUpdate& default_instance(); + + void Swap(IUPayloadUpdate* other); + + // implements Message ---------------------------------------------- + + IUPayloadUpdate* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IUPayloadUpdate& from); + void MergeFrom(const IUPayloadUpdate& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string uid = 1; + inline bool has_uid() const; + inline void clear_uid(); + static const int kUidFieldNumber = 1; + inline const ::std::string& uid() const; + inline void set_uid(const ::std::string& value); + inline void set_uid(const char* value); + inline void set_uid(const char* value, size_t size); + inline ::std::string* mutable_uid(); + inline ::std::string* release_uid(); + + // required uint32 revision = 2; + inline bool has_revision() const; + inline void clear_revision(); + static const int kRevisionFieldNumber = 2; + inline ::google::protobuf::uint32 revision() const; + inline void set_revision(::google::protobuf::uint32 value); + + // repeated .ipaaca.protobuf.PayloadItem new_items = 3; + inline int new_items_size() const; + inline void clear_new_items(); + static const int kNewItemsFieldNumber = 3; + inline const ::ipaaca::protobuf::PayloadItem& new_items(int index) const; + inline ::ipaaca::protobuf::PayloadItem* mutable_new_items(int index); + inline ::ipaaca::protobuf::PayloadItem* add_new_items(); + inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >& + new_items() const; + inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >* + mutable_new_items(); + + // repeated string keys_to_remove = 4; + inline int keys_to_remove_size() const; + inline void clear_keys_to_remove(); + static const int kKeysToRemoveFieldNumber = 4; + inline const ::std::string& keys_to_remove(int index) const; + inline ::std::string* mutable_keys_to_remove(int index); + inline void set_keys_to_remove(int index, const ::std::string& value); + inline void set_keys_to_remove(int index, const char* value); + inline void set_keys_to_remove(int index, const char* value, size_t size); + inline ::std::string* add_keys_to_remove(); + inline void add_keys_to_remove(const ::std::string& value); + inline void add_keys_to_remove(const char* value); + inline void add_keys_to_remove(const char* value, size_t size); + inline const ::google::protobuf::RepeatedPtrField< ::std::string>& keys_to_remove() const; + inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_keys_to_remove(); + + // required bool is_delta = 5 [default = false]; + inline bool has_is_delta() const; + inline void clear_is_delta(); + static const int kIsDeltaFieldNumber = 5; + inline bool is_delta() const; + inline void set_is_delta(bool value); + + // required string writer_name = 6; + inline bool has_writer_name() const; + inline void clear_writer_name(); + static const int kWriterNameFieldNumber = 6; + inline const ::std::string& writer_name() const; + inline void set_writer_name(const ::std::string& value); + inline void set_writer_name(const char* value); + inline void set_writer_name(const char* value, size_t size); + inline ::std::string* mutable_writer_name(); + inline ::std::string* release_writer_name(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IUPayloadUpdate) + private: + inline void set_has_uid(); + inline void clear_has_uid(); + inline void set_has_revision(); + inline void clear_has_revision(); + inline void set_has_is_delta(); + inline void clear_has_is_delta(); + inline void set_has_writer_name(); + inline void clear_has_writer_name(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* uid_; + ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem > new_items_; + ::google::protobuf::uint32 revision_; + bool is_delta_; + ::google::protobuf::RepeatedPtrField< ::std::string> keys_to_remove_; + ::std::string* writer_name_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IUPayloadUpdate* default_instance_; +}; +// ------------------------------------------------------------------- + +class IURetraction : public ::google::protobuf::Message { + public: + IURetraction(); + virtual ~IURetraction(); + + IURetraction(const IURetraction& from); + + inline IURetraction& operator=(const IURetraction& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IURetraction& default_instance(); + + void Swap(IURetraction* other); + + // implements Message ---------------------------------------------- + + IURetraction* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IURetraction& from); + void MergeFrom(const IURetraction& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string uid = 1; + inline bool has_uid() const; + inline void clear_uid(); + static const int kUidFieldNumber = 1; + inline const ::std::string& uid() const; + inline void set_uid(const ::std::string& value); + inline void set_uid(const char* value); + inline void set_uid(const char* value, size_t size); + inline ::std::string* mutable_uid(); + inline ::std::string* release_uid(); + + // required uint32 revision = 2; + inline bool has_revision() const; + inline void clear_revision(); + static const int kRevisionFieldNumber = 2; + inline ::google::protobuf::uint32 revision() const; + inline void set_revision(::google::protobuf::uint32 value); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IURetraction) + private: + inline void set_has_uid(); + inline void clear_has_uid(); + inline void set_has_revision(); + inline void clear_has_revision(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* uid_; + ::google::protobuf::uint32 revision_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IURetraction* default_instance_; +}; +// ------------------------------------------------------------------- + +class IUCommission : public ::google::protobuf::Message { + public: + IUCommission(); + virtual ~IUCommission(); + + IUCommission(const IUCommission& from); + + inline IUCommission& operator=(const IUCommission& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IUCommission& default_instance(); + + void Swap(IUCommission* other); + + // implements Message ---------------------------------------------- + + IUCommission* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IUCommission& from); + void MergeFrom(const IUCommission& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string uid = 1; + inline bool has_uid() const; + inline void clear_uid(); + static const int kUidFieldNumber = 1; + inline const ::std::string& uid() const; + inline void set_uid(const ::std::string& value); + inline void set_uid(const char* value); + inline void set_uid(const char* value, size_t size); + inline ::std::string* mutable_uid(); + inline ::std::string* release_uid(); + + // required uint32 revision = 2; + inline bool has_revision() const; + inline void clear_revision(); + static const int kRevisionFieldNumber = 2; + inline ::google::protobuf::uint32 revision() const; + inline void set_revision(::google::protobuf::uint32 value); + + // required string writer_name = 3; + inline bool has_writer_name() const; + inline void clear_writer_name(); + static const int kWriterNameFieldNumber = 3; + inline const ::std::string& writer_name() const; + inline void set_writer_name(const ::std::string& value); + inline void set_writer_name(const char* value); + inline void set_writer_name(const char* value, size_t size); + inline ::std::string* mutable_writer_name(); + inline ::std::string* release_writer_name(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IUCommission) + private: + inline void set_has_uid(); + inline void clear_has_uid(); + inline void set_has_revision(); + inline void clear_has_revision(); + inline void set_has_writer_name(); + inline void clear_has_writer_name(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* uid_; + ::std::string* writer_name_; + ::google::protobuf::uint32 revision_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IUCommission* default_instance_; +}; +// ------------------------------------------------------------------- + +class IUResendRequest : public ::google::protobuf::Message { + public: + IUResendRequest(); + virtual ~IUResendRequest(); + + IUResendRequest(const IUResendRequest& from); + + inline IUResendRequest& operator=(const IUResendRequest& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IUResendRequest& default_instance(); + + void Swap(IUResendRequest* other); + + // implements Message ---------------------------------------------- + + IUResendRequest* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IUResendRequest& from); + void MergeFrom(const IUResendRequest& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string uid = 1; + inline bool has_uid() const; + inline void clear_uid(); + static const int kUidFieldNumber = 1; + inline const ::std::string& uid() const; + inline void set_uid(const ::std::string& value); + inline void set_uid(const char* value); + inline void set_uid(const char* value, size_t size); + inline ::std::string* mutable_uid(); + inline ::std::string* release_uid(); + + // required string hidden_scope_name = 2; + inline bool has_hidden_scope_name() const; + inline void clear_hidden_scope_name(); + static const int kHiddenScopeNameFieldNumber = 2; + inline const ::std::string& hidden_scope_name() const; + inline void set_hidden_scope_name(const ::std::string& value); + inline void set_hidden_scope_name(const char* value); + inline void set_hidden_scope_name(const char* value, size_t size); + inline ::std::string* mutable_hidden_scope_name(); + inline ::std::string* release_hidden_scope_name(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IUResendRequest) + private: + inline void set_has_uid(); + inline void clear_has_uid(); + inline void set_has_hidden_scope_name(); + inline void clear_has_hidden_scope_name(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* uid_; + ::std::string* hidden_scope_name_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IUResendRequest* default_instance_; +}; +// ------------------------------------------------------------------- + +class IULinkUpdate : public ::google::protobuf::Message { + public: + IULinkUpdate(); + virtual ~IULinkUpdate(); + + IULinkUpdate(const IULinkUpdate& from); + + inline IULinkUpdate& operator=(const IULinkUpdate& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const IULinkUpdate& default_instance(); + + void Swap(IULinkUpdate* other); + + // implements Message ---------------------------------------------- + + IULinkUpdate* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const IULinkUpdate& from); + void MergeFrom(const IULinkUpdate& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string uid = 1; + inline bool has_uid() const; + inline void clear_uid(); + static const int kUidFieldNumber = 1; + inline const ::std::string& uid() const; + inline void set_uid(const ::std::string& value); + inline void set_uid(const char* value); + inline void set_uid(const char* value, size_t size); + inline ::std::string* mutable_uid(); + inline ::std::string* release_uid(); + + // required uint32 revision = 2; + inline bool has_revision() const; + inline void clear_revision(); + static const int kRevisionFieldNumber = 2; + inline ::google::protobuf::uint32 revision() const; + inline void set_revision(::google::protobuf::uint32 value); + + // repeated .ipaaca.protobuf.LinkSet new_links = 3; + inline int new_links_size() const; + inline void clear_new_links(); + static const int kNewLinksFieldNumber = 3; + inline const ::ipaaca::protobuf::LinkSet& new_links(int index) const; + inline ::ipaaca::protobuf::LinkSet* mutable_new_links(int index); + inline ::ipaaca::protobuf::LinkSet* add_new_links(); + inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >& + new_links() const; + inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >* + mutable_new_links(); + + // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4; + inline int links_to_remove_size() const; + inline void clear_links_to_remove(); + static const int kLinksToRemoveFieldNumber = 4; + inline const ::ipaaca::protobuf::LinkSet& links_to_remove(int index) const; + inline ::ipaaca::protobuf::LinkSet* mutable_links_to_remove(int index); + inline ::ipaaca::protobuf::LinkSet* add_links_to_remove(); + inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >& + links_to_remove() const; + inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >* + mutable_links_to_remove(); + + // required bool is_delta = 5 [default = false]; + inline bool has_is_delta() const; + inline void clear_is_delta(); + static const int kIsDeltaFieldNumber = 5; + inline bool is_delta() const; + inline void set_is_delta(bool value); + + // required string writer_name = 6; + inline bool has_writer_name() const; + inline void clear_writer_name(); + static const int kWriterNameFieldNumber = 6; + inline const ::std::string& writer_name() const; + inline void set_writer_name(const ::std::string& value); + inline void set_writer_name(const char* value); + inline void set_writer_name(const char* value, size_t size); + inline ::std::string* mutable_writer_name(); + inline ::std::string* release_writer_name(); + + // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IULinkUpdate) + private: + inline void set_has_uid(); + inline void clear_has_uid(); + inline void set_has_revision(); + inline void clear_has_revision(); + inline void set_has_is_delta(); + inline void clear_has_is_delta(); + inline void set_has_writer_name(); + inline void clear_has_writer_name(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::std::string* uid_; + ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet > new_links_; + ::google::protobuf::uint32 revision_; + bool is_delta_; + ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet > links_to_remove_; + ::std::string* writer_name_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32]; + + friend void protobuf_AddDesc_ipaaca_2eproto(); + friend void protobuf_AssignDesc_ipaaca_2eproto(); + friend void protobuf_ShutdownFile_ipaaca_2eproto(); + + void InitAsDefaultInstance(); + static IULinkUpdate* default_instance_; +}; +// =================================================================== + + +// =================================================================== + +// IntMessage + +// required sint32 value = 1; +inline bool IntMessage::has_value() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IntMessage::set_has_value() { + _has_bits_[0] |= 0x00000001u; +} +inline void IntMessage::clear_has_value() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IntMessage::clear_value() { + value_ = 0; + clear_has_value(); +} +inline ::google::protobuf::int32 IntMessage::value() const { + return value_; +} +inline void IntMessage::set_value(::google::protobuf::int32 value) { + set_has_value(); + value_ = value; +} + +// ------------------------------------------------------------------- + +// LinkSet + +// required string type = 1; +inline bool LinkSet::has_type() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void LinkSet::set_has_type() { + _has_bits_[0] |= 0x00000001u; +} +inline void LinkSet::clear_has_type() { + _has_bits_[0] &= ~0x00000001u; +} +inline void LinkSet::clear_type() { + if (type_ != &::google::protobuf::internal::kEmptyString) { + type_->clear(); + } + clear_has_type(); +} +inline const ::std::string& LinkSet::type() const { + return *type_; +} +inline void LinkSet::set_type(const ::std::string& value) { + set_has_type(); + if (type_ == &::google::protobuf::internal::kEmptyString) { + type_ = new ::std::string; + } + type_->assign(value); +} +inline void LinkSet::set_type(const char* value) { + set_has_type(); + if (type_ == &::google::protobuf::internal::kEmptyString) { + type_ = new ::std::string; + } + type_->assign(value); +} +inline void LinkSet::set_type(const char* value, size_t size) { + set_has_type(); + if (type_ == &::google::protobuf::internal::kEmptyString) { + type_ = new ::std::string; + } + type_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* LinkSet::mutable_type() { + set_has_type(); + if (type_ == &::google::protobuf::internal::kEmptyString) { + type_ = new ::std::string; + } + return type_; +} +inline ::std::string* LinkSet::release_type() { + clear_has_type(); + if (type_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = type_; + type_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// repeated string targets = 2; +inline int LinkSet::targets_size() const { + return targets_.size(); +} +inline void LinkSet::clear_targets() { + targets_.Clear(); +} +inline const ::std::string& LinkSet::targets(int index) const { + return targets_.Get(index); +} +inline ::std::string* LinkSet::mutable_targets(int index) { + return targets_.Mutable(index); +} +inline void LinkSet::set_targets(int index, const ::std::string& value) { + targets_.Mutable(index)->assign(value); +} +inline void LinkSet::set_targets(int index, const char* value) { + targets_.Mutable(index)->assign(value); +} +inline void LinkSet::set_targets(int index, const char* value, size_t size) { + targets_.Mutable(index)->assign( + reinterpret_cast<const char*>(value), size); +} +inline ::std::string* LinkSet::add_targets() { + return targets_.Add(); +} +inline void LinkSet::add_targets(const ::std::string& value) { + targets_.Add()->assign(value); +} +inline void LinkSet::add_targets(const char* value) { + targets_.Add()->assign(value); +} +inline void LinkSet::add_targets(const char* value, size_t size) { + targets_.Add()->assign(reinterpret_cast<const char*>(value), size); +} +inline const ::google::protobuf::RepeatedPtrField< ::std::string>& +LinkSet::targets() const { + return targets_; +} +inline ::google::protobuf::RepeatedPtrField< ::std::string>* +LinkSet::mutable_targets() { + return &targets_; +} + +// ------------------------------------------------------------------- + +// PayloadItem + +// required string key = 1; +inline bool PayloadItem::has_key() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void PayloadItem::set_has_key() { + _has_bits_[0] |= 0x00000001u; +} +inline void PayloadItem::clear_has_key() { + _has_bits_[0] &= ~0x00000001u; +} +inline void PayloadItem::clear_key() { + if (key_ != &::google::protobuf::internal::kEmptyString) { + key_->clear(); + } + clear_has_key(); +} +inline const ::std::string& PayloadItem::key() const { + return *key_; +} +inline void PayloadItem::set_key(const ::std::string& value) { + set_has_key(); + if (key_ == &::google::protobuf::internal::kEmptyString) { + key_ = new ::std::string; + } + key_->assign(value); +} +inline void PayloadItem::set_key(const char* value) { + set_has_key(); + if (key_ == &::google::protobuf::internal::kEmptyString) { + key_ = new ::std::string; + } + key_->assign(value); +} +inline void PayloadItem::set_key(const char* value, size_t size) { + set_has_key(); + if (key_ == &::google::protobuf::internal::kEmptyString) { + key_ = new ::std::string; + } + key_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* PayloadItem::mutable_key() { + set_has_key(); + if (key_ == &::google::protobuf::internal::kEmptyString) { + key_ = new ::std::string; + } + return key_; +} +inline ::std::string* PayloadItem::release_key() { + clear_has_key(); + if (key_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = key_; + key_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required string value = 2; +inline bool PayloadItem::has_value() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void PayloadItem::set_has_value() { + _has_bits_[0] |= 0x00000002u; +} +inline void PayloadItem::clear_has_value() { + _has_bits_[0] &= ~0x00000002u; +} +inline void PayloadItem::clear_value() { + if (value_ != &::google::protobuf::internal::kEmptyString) { + value_->clear(); + } + clear_has_value(); +} +inline const ::std::string& PayloadItem::value() const { + return *value_; +} +inline void PayloadItem::set_value(const ::std::string& value) { + set_has_value(); + if (value_ == &::google::protobuf::internal::kEmptyString) { + value_ = new ::std::string; + } + value_->assign(value); +} +inline void PayloadItem::set_value(const char* value) { + set_has_value(); + if (value_ == &::google::protobuf::internal::kEmptyString) { + value_ = new ::std::string; + } + value_->assign(value); +} +inline void PayloadItem::set_value(const char* value, size_t size) { + set_has_value(); + if (value_ == &::google::protobuf::internal::kEmptyString) { + value_ = new ::std::string; + } + value_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* PayloadItem::mutable_value() { + set_has_value(); + if (value_ == &::google::protobuf::internal::kEmptyString) { + value_ = new ::std::string; + } + return value_; +} +inline ::std::string* PayloadItem::release_value() { + clear_has_value(); + if (value_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = value_; + value_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required string type = 3 [default = "str"]; +inline bool PayloadItem::has_type() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void PayloadItem::set_has_type() { + _has_bits_[0] |= 0x00000004u; +} +inline void PayloadItem::clear_has_type() { + _has_bits_[0] &= ~0x00000004u; +} +inline void PayloadItem::clear_type() { + if (type_ != &_default_type_) { + type_->assign(_default_type_); + } + clear_has_type(); +} +inline const ::std::string& PayloadItem::type() const { + return *type_; +} +inline void PayloadItem::set_type(const ::std::string& value) { + set_has_type(); + if (type_ == &_default_type_) { + type_ = new ::std::string; + } + type_->assign(value); +} +inline void PayloadItem::set_type(const char* value) { + set_has_type(); + if (type_ == &_default_type_) { + type_ = new ::std::string; + } + type_->assign(value); +} +inline void PayloadItem::set_type(const char* value, size_t size) { + set_has_type(); + if (type_ == &_default_type_) { + type_ = new ::std::string; + } + type_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* PayloadItem::mutable_type() { + set_has_type(); + if (type_ == &_default_type_) { + type_ = new ::std::string(_default_type_); + } + return type_; +} +inline ::std::string* PayloadItem::release_type() { + clear_has_type(); + if (type_ == &_default_type_) { + return NULL; + } else { + ::std::string* temp = type_; + type_ = const_cast< ::std::string*>(&_default_type_); + return temp; + } +} + +// ------------------------------------------------------------------- + +// IU + +// required string uid = 1; +inline bool IU::has_uid() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IU::set_has_uid() { + _has_bits_[0] |= 0x00000001u; +} +inline void IU::clear_has_uid() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IU::clear_uid() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + clear_has_uid(); +} +inline const ::std::string& IU::uid() const { + return *uid_; +} +inline void IU::set_uid(const ::std::string& value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IU::set_uid(const char* value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IU::set_uid(const char* value, size_t size) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IU::mutable_uid() { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + return uid_; +} +inline ::std::string* IU::release_uid() { + clear_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = uid_; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required uint32 revision = 2; +inline bool IU::has_revision() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void IU::set_has_revision() { + _has_bits_[0] |= 0x00000002u; +} +inline void IU::clear_has_revision() { + _has_bits_[0] &= ~0x00000002u; +} +inline void IU::clear_revision() { + revision_ = 0u; + clear_has_revision(); +} +inline ::google::protobuf::uint32 IU::revision() const { + return revision_; +} +inline void IU::set_revision(::google::protobuf::uint32 value) { + set_has_revision(); + revision_ = value; +} + +// required string category = 3 [default = "undef"]; +inline bool IU::has_category() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void IU::set_has_category() { + _has_bits_[0] |= 0x00000004u; +} +inline void IU::clear_has_category() { + _has_bits_[0] &= ~0x00000004u; +} +inline void IU::clear_category() { + if (category_ != &_default_category_) { + category_->assign(_default_category_); + } + clear_has_category(); +} +inline const ::std::string& IU::category() const { + return *category_; +} +inline void IU::set_category(const ::std::string& value) { + set_has_category(); + if (category_ == &_default_category_) { + category_ = new ::std::string; + } + category_->assign(value); +} +inline void IU::set_category(const char* value) { + set_has_category(); + if (category_ == &_default_category_) { + category_ = new ::std::string; + } + category_->assign(value); +} +inline void IU::set_category(const char* value, size_t size) { + set_has_category(); + if (category_ == &_default_category_) { + category_ = new ::std::string; + } + category_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IU::mutable_category() { + set_has_category(); + if (category_ == &_default_category_) { + category_ = new ::std::string(_default_category_); + } + return category_; +} +inline ::std::string* IU::release_category() { + clear_has_category(); + if (category_ == &_default_category_) { + return NULL; + } else { + ::std::string* temp = category_; + category_ = const_cast< ::std::string*>(&_default_category_); + return temp; + } +} + +// required string payload_type = 4 [default = "MAP"]; +inline bool IU::has_payload_type() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void IU::set_has_payload_type() { + _has_bits_[0] |= 0x00000008u; +} +inline void IU::clear_has_payload_type() { + _has_bits_[0] &= ~0x00000008u; +} +inline void IU::clear_payload_type() { + if (payload_type_ != &_default_payload_type_) { + payload_type_->assign(_default_payload_type_); + } + clear_has_payload_type(); +} +inline const ::std::string& IU::payload_type() const { + return *payload_type_; +} +inline void IU::set_payload_type(const ::std::string& value) { + set_has_payload_type(); + if (payload_type_ == &_default_payload_type_) { + payload_type_ = new ::std::string; + } + payload_type_->assign(value); +} +inline void IU::set_payload_type(const char* value) { + set_has_payload_type(); + if (payload_type_ == &_default_payload_type_) { + payload_type_ = new ::std::string; + } + payload_type_->assign(value); +} +inline void IU::set_payload_type(const char* value, size_t size) { + set_has_payload_type(); + if (payload_type_ == &_default_payload_type_) { + payload_type_ = new ::std::string; + } + payload_type_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IU::mutable_payload_type() { + set_has_payload_type(); + if (payload_type_ == &_default_payload_type_) { + payload_type_ = new ::std::string(_default_payload_type_); + } + return payload_type_; +} +inline ::std::string* IU::release_payload_type() { + clear_has_payload_type(); + if (payload_type_ == &_default_payload_type_) { + return NULL; + } else { + ::std::string* temp = payload_type_; + payload_type_ = const_cast< ::std::string*>(&_default_payload_type_); + return temp; + } +} + +// required string owner_name = 5; +inline bool IU::has_owner_name() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void IU::set_has_owner_name() { + _has_bits_[0] |= 0x00000010u; +} +inline void IU::clear_has_owner_name() { + _has_bits_[0] &= ~0x00000010u; +} +inline void IU::clear_owner_name() { + if (owner_name_ != &::google::protobuf::internal::kEmptyString) { + owner_name_->clear(); + } + clear_has_owner_name(); +} +inline const ::std::string& IU::owner_name() const { + return *owner_name_; +} +inline void IU::set_owner_name(const ::std::string& value) { + set_has_owner_name(); + if (owner_name_ == &::google::protobuf::internal::kEmptyString) { + owner_name_ = new ::std::string; + } + owner_name_->assign(value); +} +inline void IU::set_owner_name(const char* value) { + set_has_owner_name(); + if (owner_name_ == &::google::protobuf::internal::kEmptyString) { + owner_name_ = new ::std::string; + } + owner_name_->assign(value); +} +inline void IU::set_owner_name(const char* value, size_t size) { + set_has_owner_name(); + if (owner_name_ == &::google::protobuf::internal::kEmptyString) { + owner_name_ = new ::std::string; + } + owner_name_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IU::mutable_owner_name() { + set_has_owner_name(); + if (owner_name_ == &::google::protobuf::internal::kEmptyString) { + owner_name_ = new ::std::string; + } + return owner_name_; +} +inline ::std::string* IU::release_owner_name() { + clear_has_owner_name(); + if (owner_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = owner_name_; + owner_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required bool committed = 6 [default = false]; +inline bool IU::has_committed() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void IU::set_has_committed() { + _has_bits_[0] |= 0x00000020u; +} +inline void IU::clear_has_committed() { + _has_bits_[0] &= ~0x00000020u; +} +inline void IU::clear_committed() { + committed_ = false; + clear_has_committed(); +} +inline bool IU::committed() const { + return committed_; +} +inline void IU::set_committed(bool value) { + set_has_committed(); + committed_ = value; +} + +// required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH]; +inline bool IU::has_access_mode() const { + return (_has_bits_[0] & 0x00000040u) != 0; +} +inline void IU::set_has_access_mode() { + _has_bits_[0] |= 0x00000040u; +} +inline void IU::clear_has_access_mode() { + _has_bits_[0] &= ~0x00000040u; +} +inline void IU::clear_access_mode() { + access_mode_ = 0; + clear_has_access_mode(); +} +inline ::ipaaca::protobuf::IU_AccessMode IU::access_mode() const { + return static_cast< ::ipaaca::protobuf::IU_AccessMode >(access_mode_); +} +inline void IU::set_access_mode(::ipaaca::protobuf::IU_AccessMode value) { + GOOGLE_DCHECK(::ipaaca::protobuf::IU_AccessMode_IsValid(value)); + set_has_access_mode(); + access_mode_ = value; +} + +// required bool read_only = 8 [default = false]; +inline bool IU::has_read_only() const { + return (_has_bits_[0] & 0x00000080u) != 0; +} +inline void IU::set_has_read_only() { + _has_bits_[0] |= 0x00000080u; +} +inline void IU::clear_has_read_only() { + _has_bits_[0] &= ~0x00000080u; +} +inline void IU::clear_read_only() { + read_only_ = false; + clear_has_read_only(); +} +inline bool IU::read_only() const { + return read_only_; +} +inline void IU::set_read_only(bool value) { + set_has_read_only(); + read_only_ = value; +} + +// repeated .ipaaca.protobuf.PayloadItem payload = 9; +inline int IU::payload_size() const { + return payload_.size(); +} +inline void IU::clear_payload() { + payload_.Clear(); +} +inline const ::ipaaca::protobuf::PayloadItem& IU::payload(int index) const { + return payload_.Get(index); +} +inline ::ipaaca::protobuf::PayloadItem* IU::mutable_payload(int index) { + return payload_.Mutable(index); +} +inline ::ipaaca::protobuf::PayloadItem* IU::add_payload() { + return payload_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >& +IU::payload() const { + return payload_; +} +inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >* +IU::mutable_payload() { + return &payload_; +} + +// repeated .ipaaca.protobuf.LinkSet links = 10; +inline int IU::links_size() const { + return links_.size(); +} +inline void IU::clear_links() { + links_.Clear(); +} +inline const ::ipaaca::protobuf::LinkSet& IU::links(int index) const { + return links_.Get(index); +} +inline ::ipaaca::protobuf::LinkSet* IU::mutable_links(int index) { + return links_.Mutable(index); +} +inline ::ipaaca::protobuf::LinkSet* IU::add_links() { + return links_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >& +IU::links() const { + return links_; +} +inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >* +IU::mutable_links() { + return &links_; +} + +// ------------------------------------------------------------------- + +// IUPayloadUpdate + +// required string uid = 1; +inline bool IUPayloadUpdate::has_uid() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IUPayloadUpdate::set_has_uid() { + _has_bits_[0] |= 0x00000001u; +} +inline void IUPayloadUpdate::clear_has_uid() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IUPayloadUpdate::clear_uid() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + clear_has_uid(); +} +inline const ::std::string& IUPayloadUpdate::uid() const { + return *uid_; +} +inline void IUPayloadUpdate::set_uid(const ::std::string& value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IUPayloadUpdate::set_uid(const char* value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IUPayloadUpdate::set_uid(const char* value, size_t size) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUPayloadUpdate::mutable_uid() { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + return uid_; +} +inline ::std::string* IUPayloadUpdate::release_uid() { + clear_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = uid_; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required uint32 revision = 2; +inline bool IUPayloadUpdate::has_revision() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void IUPayloadUpdate::set_has_revision() { + _has_bits_[0] |= 0x00000002u; +} +inline void IUPayloadUpdate::clear_has_revision() { + _has_bits_[0] &= ~0x00000002u; +} +inline void IUPayloadUpdate::clear_revision() { + revision_ = 0u; + clear_has_revision(); +} +inline ::google::protobuf::uint32 IUPayloadUpdate::revision() const { + return revision_; +} +inline void IUPayloadUpdate::set_revision(::google::protobuf::uint32 value) { + set_has_revision(); + revision_ = value; +} + +// repeated .ipaaca.protobuf.PayloadItem new_items = 3; +inline int IUPayloadUpdate::new_items_size() const { + return new_items_.size(); +} +inline void IUPayloadUpdate::clear_new_items() { + new_items_.Clear(); +} +inline const ::ipaaca::protobuf::PayloadItem& IUPayloadUpdate::new_items(int index) const { + return new_items_.Get(index); +} +inline ::ipaaca::protobuf::PayloadItem* IUPayloadUpdate::mutable_new_items(int index) { + return new_items_.Mutable(index); +} +inline ::ipaaca::protobuf::PayloadItem* IUPayloadUpdate::add_new_items() { + return new_items_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >& +IUPayloadUpdate::new_items() const { + return new_items_; +} +inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >* +IUPayloadUpdate::mutable_new_items() { + return &new_items_; +} + +// repeated string keys_to_remove = 4; +inline int IUPayloadUpdate::keys_to_remove_size() const { + return keys_to_remove_.size(); +} +inline void IUPayloadUpdate::clear_keys_to_remove() { + keys_to_remove_.Clear(); +} +inline const ::std::string& IUPayloadUpdate::keys_to_remove(int index) const { + return keys_to_remove_.Get(index); +} +inline ::std::string* IUPayloadUpdate::mutable_keys_to_remove(int index) { + return keys_to_remove_.Mutable(index); +} +inline void IUPayloadUpdate::set_keys_to_remove(int index, const ::std::string& value) { + keys_to_remove_.Mutable(index)->assign(value); +} +inline void IUPayloadUpdate::set_keys_to_remove(int index, const char* value) { + keys_to_remove_.Mutable(index)->assign(value); +} +inline void IUPayloadUpdate::set_keys_to_remove(int index, const char* value, size_t size) { + keys_to_remove_.Mutable(index)->assign( + reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUPayloadUpdate::add_keys_to_remove() { + return keys_to_remove_.Add(); +} +inline void IUPayloadUpdate::add_keys_to_remove(const ::std::string& value) { + keys_to_remove_.Add()->assign(value); +} +inline void IUPayloadUpdate::add_keys_to_remove(const char* value) { + keys_to_remove_.Add()->assign(value); +} +inline void IUPayloadUpdate::add_keys_to_remove(const char* value, size_t size) { + keys_to_remove_.Add()->assign(reinterpret_cast<const char*>(value), size); +} +inline const ::google::protobuf::RepeatedPtrField< ::std::string>& +IUPayloadUpdate::keys_to_remove() const { + return keys_to_remove_; +} +inline ::google::protobuf::RepeatedPtrField< ::std::string>* +IUPayloadUpdate::mutable_keys_to_remove() { + return &keys_to_remove_; +} + +// required bool is_delta = 5 [default = false]; +inline bool IUPayloadUpdate::has_is_delta() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void IUPayloadUpdate::set_has_is_delta() { + _has_bits_[0] |= 0x00000010u; +} +inline void IUPayloadUpdate::clear_has_is_delta() { + _has_bits_[0] &= ~0x00000010u; +} +inline void IUPayloadUpdate::clear_is_delta() { + is_delta_ = false; + clear_has_is_delta(); +} +inline bool IUPayloadUpdate::is_delta() const { + return is_delta_; +} +inline void IUPayloadUpdate::set_is_delta(bool value) { + set_has_is_delta(); + is_delta_ = value; +} + +// required string writer_name = 6; +inline bool IUPayloadUpdate::has_writer_name() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void IUPayloadUpdate::set_has_writer_name() { + _has_bits_[0] |= 0x00000020u; +} +inline void IUPayloadUpdate::clear_has_writer_name() { + _has_bits_[0] &= ~0x00000020u; +} +inline void IUPayloadUpdate::clear_writer_name() { + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + writer_name_->clear(); + } + clear_has_writer_name(); +} +inline const ::std::string& IUPayloadUpdate::writer_name() const { + return *writer_name_; +} +inline void IUPayloadUpdate::set_writer_name(const ::std::string& value) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(value); +} +inline void IUPayloadUpdate::set_writer_name(const char* value) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(value); +} +inline void IUPayloadUpdate::set_writer_name(const char* value, size_t size) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUPayloadUpdate::mutable_writer_name() { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + return writer_name_; +} +inline ::std::string* IUPayloadUpdate::release_writer_name() { + clear_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = writer_name_; + writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// ------------------------------------------------------------------- + +// IURetraction + +// required string uid = 1; +inline bool IURetraction::has_uid() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IURetraction::set_has_uid() { + _has_bits_[0] |= 0x00000001u; +} +inline void IURetraction::clear_has_uid() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IURetraction::clear_uid() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + clear_has_uid(); +} +inline const ::std::string& IURetraction::uid() const { + return *uid_; +} +inline void IURetraction::set_uid(const ::std::string& value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IURetraction::set_uid(const char* value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IURetraction::set_uid(const char* value, size_t size) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IURetraction::mutable_uid() { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + return uid_; +} +inline ::std::string* IURetraction::release_uid() { + clear_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = uid_; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required uint32 revision = 2; +inline bool IURetraction::has_revision() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void IURetraction::set_has_revision() { + _has_bits_[0] |= 0x00000002u; +} +inline void IURetraction::clear_has_revision() { + _has_bits_[0] &= ~0x00000002u; +} +inline void IURetraction::clear_revision() { + revision_ = 0u; + clear_has_revision(); +} +inline ::google::protobuf::uint32 IURetraction::revision() const { + return revision_; +} +inline void IURetraction::set_revision(::google::protobuf::uint32 value) { + set_has_revision(); + revision_ = value; +} + +// ------------------------------------------------------------------- + +// IUCommission + +// required string uid = 1; +inline bool IUCommission::has_uid() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IUCommission::set_has_uid() { + _has_bits_[0] |= 0x00000001u; +} +inline void IUCommission::clear_has_uid() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IUCommission::clear_uid() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + clear_has_uid(); +} +inline const ::std::string& IUCommission::uid() const { + return *uid_; +} +inline void IUCommission::set_uid(const ::std::string& value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IUCommission::set_uid(const char* value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IUCommission::set_uid(const char* value, size_t size) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUCommission::mutable_uid() { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + return uid_; +} +inline ::std::string* IUCommission::release_uid() { + clear_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = uid_; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required uint32 revision = 2; +inline bool IUCommission::has_revision() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void IUCommission::set_has_revision() { + _has_bits_[0] |= 0x00000002u; +} +inline void IUCommission::clear_has_revision() { + _has_bits_[0] &= ~0x00000002u; +} +inline void IUCommission::clear_revision() { + revision_ = 0u; + clear_has_revision(); +} +inline ::google::protobuf::uint32 IUCommission::revision() const { + return revision_; +} +inline void IUCommission::set_revision(::google::protobuf::uint32 value) { + set_has_revision(); + revision_ = value; +} + +// required string writer_name = 3; +inline bool IUCommission::has_writer_name() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void IUCommission::set_has_writer_name() { + _has_bits_[0] |= 0x00000004u; +} +inline void IUCommission::clear_has_writer_name() { + _has_bits_[0] &= ~0x00000004u; +} +inline void IUCommission::clear_writer_name() { + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + writer_name_->clear(); + } + clear_has_writer_name(); +} +inline const ::std::string& IUCommission::writer_name() const { + return *writer_name_; +} +inline void IUCommission::set_writer_name(const ::std::string& value) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(value); +} +inline void IUCommission::set_writer_name(const char* value) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(value); +} +inline void IUCommission::set_writer_name(const char* value, size_t size) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUCommission::mutable_writer_name() { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + return writer_name_; +} +inline ::std::string* IUCommission::release_writer_name() { + clear_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = writer_name_; + writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// ------------------------------------------------------------------- + +// IUResendRequest + +// required string uid = 1; +inline bool IUResendRequest::has_uid() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IUResendRequest::set_has_uid() { + _has_bits_[0] |= 0x00000001u; +} +inline void IUResendRequest::clear_has_uid() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IUResendRequest::clear_uid() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + clear_has_uid(); +} +inline const ::std::string& IUResendRequest::uid() const { + return *uid_; +} +inline void IUResendRequest::set_uid(const ::std::string& value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IUResendRequest::set_uid(const char* value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IUResendRequest::set_uid(const char* value, size_t size) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUResendRequest::mutable_uid() { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + return uid_; +} +inline ::std::string* IUResendRequest::release_uid() { + clear_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = uid_; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required string hidden_scope_name = 2; +inline bool IUResendRequest::has_hidden_scope_name() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void IUResendRequest::set_has_hidden_scope_name() { + _has_bits_[0] |= 0x00000002u; +} +inline void IUResendRequest::clear_has_hidden_scope_name() { + _has_bits_[0] &= ~0x00000002u; +} +inline void IUResendRequest::clear_hidden_scope_name() { + if (hidden_scope_name_ != &::google::protobuf::internal::kEmptyString) { + hidden_scope_name_->clear(); + } + clear_has_hidden_scope_name(); +} +inline const ::std::string& IUResendRequest::hidden_scope_name() const { + return *hidden_scope_name_; +} +inline void IUResendRequest::set_hidden_scope_name(const ::std::string& value) { + set_has_hidden_scope_name(); + if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) { + hidden_scope_name_ = new ::std::string; + } + hidden_scope_name_->assign(value); +} +inline void IUResendRequest::set_hidden_scope_name(const char* value) { + set_has_hidden_scope_name(); + if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) { + hidden_scope_name_ = new ::std::string; + } + hidden_scope_name_->assign(value); +} +inline void IUResendRequest::set_hidden_scope_name(const char* value, size_t size) { + set_has_hidden_scope_name(); + if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) { + hidden_scope_name_ = new ::std::string; + } + hidden_scope_name_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IUResendRequest::mutable_hidden_scope_name() { + set_has_hidden_scope_name(); + if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) { + hidden_scope_name_ = new ::std::string; + } + return hidden_scope_name_; +} +inline ::std::string* IUResendRequest::release_hidden_scope_name() { + clear_has_hidden_scope_name(); + if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = hidden_scope_name_; + hidden_scope_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// ------------------------------------------------------------------- + +// IULinkUpdate + +// required string uid = 1; +inline bool IULinkUpdate::has_uid() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void IULinkUpdate::set_has_uid() { + _has_bits_[0] |= 0x00000001u; +} +inline void IULinkUpdate::clear_has_uid() { + _has_bits_[0] &= ~0x00000001u; +} +inline void IULinkUpdate::clear_uid() { + if (uid_ != &::google::protobuf::internal::kEmptyString) { + uid_->clear(); + } + clear_has_uid(); +} +inline const ::std::string& IULinkUpdate::uid() const { + return *uid_; +} +inline void IULinkUpdate::set_uid(const ::std::string& value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IULinkUpdate::set_uid(const char* value) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(value); +} +inline void IULinkUpdate::set_uid(const char* value, size_t size) { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + uid_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IULinkUpdate::mutable_uid() { + set_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + uid_ = new ::std::string; + } + return uid_; +} +inline ::std::string* IULinkUpdate::release_uid() { + clear_has_uid(); + if (uid_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = uid_; + uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + +// required uint32 revision = 2; +inline bool IULinkUpdate::has_revision() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void IULinkUpdate::set_has_revision() { + _has_bits_[0] |= 0x00000002u; +} +inline void IULinkUpdate::clear_has_revision() { + _has_bits_[0] &= ~0x00000002u; +} +inline void IULinkUpdate::clear_revision() { + revision_ = 0u; + clear_has_revision(); +} +inline ::google::protobuf::uint32 IULinkUpdate::revision() const { + return revision_; +} +inline void IULinkUpdate::set_revision(::google::protobuf::uint32 value) { + set_has_revision(); + revision_ = value; +} + +// repeated .ipaaca.protobuf.LinkSet new_links = 3; +inline int IULinkUpdate::new_links_size() const { + return new_links_.size(); +} +inline void IULinkUpdate::clear_new_links() { + new_links_.Clear(); +} +inline const ::ipaaca::protobuf::LinkSet& IULinkUpdate::new_links(int index) const { + return new_links_.Get(index); +} +inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::mutable_new_links(int index) { + return new_links_.Mutable(index); +} +inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::add_new_links() { + return new_links_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >& +IULinkUpdate::new_links() const { + return new_links_; +} +inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >* +IULinkUpdate::mutable_new_links() { + return &new_links_; +} + +// repeated .ipaaca.protobuf.LinkSet links_to_remove = 4; +inline int IULinkUpdate::links_to_remove_size() const { + return links_to_remove_.size(); +} +inline void IULinkUpdate::clear_links_to_remove() { + links_to_remove_.Clear(); +} +inline const ::ipaaca::protobuf::LinkSet& IULinkUpdate::links_to_remove(int index) const { + return links_to_remove_.Get(index); +} +inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::mutable_links_to_remove(int index) { + return links_to_remove_.Mutable(index); +} +inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::add_links_to_remove() { + return links_to_remove_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >& +IULinkUpdate::links_to_remove() const { + return links_to_remove_; +} +inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >* +IULinkUpdate::mutable_links_to_remove() { + return &links_to_remove_; +} + +// required bool is_delta = 5 [default = false]; +inline bool IULinkUpdate::has_is_delta() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void IULinkUpdate::set_has_is_delta() { + _has_bits_[0] |= 0x00000010u; +} +inline void IULinkUpdate::clear_has_is_delta() { + _has_bits_[0] &= ~0x00000010u; +} +inline void IULinkUpdate::clear_is_delta() { + is_delta_ = false; + clear_has_is_delta(); +} +inline bool IULinkUpdate::is_delta() const { + return is_delta_; +} +inline void IULinkUpdate::set_is_delta(bool value) { + set_has_is_delta(); + is_delta_ = value; +} + +// required string writer_name = 6; +inline bool IULinkUpdate::has_writer_name() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void IULinkUpdate::set_has_writer_name() { + _has_bits_[0] |= 0x00000020u; +} +inline void IULinkUpdate::clear_has_writer_name() { + _has_bits_[0] &= ~0x00000020u; +} +inline void IULinkUpdate::clear_writer_name() { + if (writer_name_ != &::google::protobuf::internal::kEmptyString) { + writer_name_->clear(); + } + clear_has_writer_name(); +} +inline const ::std::string& IULinkUpdate::writer_name() const { + return *writer_name_; +} +inline void IULinkUpdate::set_writer_name(const ::std::string& value) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(value); +} +inline void IULinkUpdate::set_writer_name(const char* value) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(value); +} +inline void IULinkUpdate::set_writer_name(const char* value, size_t size) { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + writer_name_->assign(reinterpret_cast<const char*>(value), size); +} +inline ::std::string* IULinkUpdate::mutable_writer_name() { + set_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + writer_name_ = new ::std::string; + } + return writer_name_; +} +inline ::std::string* IULinkUpdate::release_writer_name() { + clear_has_writer_name(); + if (writer_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = writer_name_; + writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace ipaaca + +#ifndef SWIG +namespace google { +namespace protobuf { + +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::ipaaca::protobuf::IU_AccessMode>() { + return ::ipaaca::protobuf::IU_AccessMode_descriptor(); +} + +} // namespace google +} // namespace protobuf +#endif // SWIG + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_ipaaca_2eproto__INCLUDED diff --git a/ipaacalib/cpp/src/Makefile b/ipaacalib/cpp/src/Makefile index 45ba15946eff401b5ad8cbfae12a09f78153baa0..3c600c2d1c74bae792c20009636c5df381e95094 100644 --- a/ipaacalib/cpp/src/Makefile +++ b/ipaacalib/cpp/src/Makefile @@ -5,22 +5,24 @@ else endif CONFIG = -DIPAACA_DEBUG_MESSAGES -IPAACASOURCES = ipaaca.cc ipaaca.pb.cc +#IPAACASOURCES = ipaaca.cc ../build/ipaaca/ipaaca.pb.cc +IPAACASOURCES = ../build/ipaaca/ipaaca.pb.cc SOURCES = ${IPAACASOURCES} ipaaca-test-main.cc TEXTSOURCES = ${IPAACASOURCES} textsender.cc -CCFLAGS=-I. -I/usr/local/include -I/opt/local/include ${CONFIG} +CCFLAGS=-I../include -I../build -I/usr/local/include -I/opt/local/include ${CONFIG} LIBFLAGS=-fPIC -shared BOOSTLIBS = -L/opt/local/lib -lboost_regex-mt -lboost_date_time-mt -lboost_program_options-mt -lboost_thread-mt -lboost_filesystem-mt -lboost_signals-mt -lboost_system-mt PROTOLIBS = -L/opt/local/lib -lprotobuf -LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -lrsc -lrsbcore +#LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -lrsc -lrsbcore +LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -L../build -lipaaca -COMPILER = gfilt +COMPILER = gcc#gfilt all: lib -lib: - ${COMPILER} ${CCFLAGS} ${IPAACASOURCES} ${LIBS} ${LIBFLAGS} -o libipaaca${LIB_SUFFIX} +#lib: +# ${COMPILER} ${CCFLAGS} ${IPAACASOURCES} ${LIBS} ${LIBFLAGS} -o libipaaca${LIB_SUFFIX} receiver: ${COMPILER} ${CCFLAGS} -DMAKE_RECEIVER -o ipaaca-receiver ${SOURCES} ${LIBS} @@ -28,13 +30,13 @@ receiver: sender: ${COMPILER} ${CCFLAGS} -DMAKE_SENDER -o ipaaca-sender ${SOURCES} ${LIBS} -main: - ${COMPILER} ${CCFLAGS} -o ipaaca-main ${SOURCES} ${LIBS} +#main: +# ${COMPILER} ${CCFLAGS} -o ipaaca-main ${SOURCES} ${LIBS} -protoc: - protoc --proto_path=../../proto ../../proto/ipaaca.proto --cpp_out=. +#protoc: +# protoc --proto_path=../../proto ../../proto/ipaaca.proto --cpp_out=. -clean: - rm -f libipaaca${LIB_SUFFIX} ipaaca-main ipaaca-sender ipaaca-receiver ipaaca.pb.h ipaaca.pb.cc +#clean: +# rm -f libipaaca${LIB_SUFFIX} ipaaca-main ipaaca-sender ipaaca-receiver ipaaca.pb.h ipaaca.pb.cc diff --git a/ipaacalib/cpp/src/Makefile~ b/ipaacalib/cpp/src/Makefile~ new file mode 100644 index 0000000000000000000000000000000000000000..2397a214dbbc64326f6a22337322edc6fa4176dd --- /dev/null +++ b/ipaacalib/cpp/src/Makefile~ @@ -0,0 +1,41 @@ +ifeq ($(WBS_ARCH),mac) + LIB_SUFFIX=.dylib +else + LIB_SUFFIX=.so +endif + +CONFIG = -DIPAACA_DEBUG_MESSAGES +#IPAACASOURCES = ipaaca.cc ../build/ipaaca/ipaaca.pb.cc +IPAACASOURCES = ../build/ipaaca/ipaaca.pb.cc +SOURCES = ${IPAACASOURCES} ipaaca-test-main.cc +TEXTSOURCES = ${IPAACASOURCES} textsender.cc +CCFLAGS=-I../include -I../build -I/usr/local/include -I/opt/local/include ${CONFIG} +LIBFLAGS=-fPIC -shared +BOOSTLIBS = -L/opt/local/lib -lboost_regex-mt -lboost_date_time-mt -lboost_program_options-mt -lboost_thread-mt -lboost_filesystem-mt -lboost_signals-mt -lboost_system-mt +PROTOLIBS = -L/opt/local/lib -lprotobuf +LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -L../build -lrsc -lrsbcore -lipaaca + +COMPILER = gcc#gfilt + +all: lib + + +#lib: +# ${COMPILER} ${CCFLAGS} ${IPAACASOURCES} ${LIBS} ${LIBFLAGS} -o libipaaca${LIB_SUFFIX} + +receiver: + ${COMPILER} ${CCFLAGS} -DMAKE_RECEIVER -o ipaaca-receiver ${SOURCES} ${LIBS} + +sender: + ${COMPILER} ${CCFLAGS} -DMAKE_SENDER -o ipaaca-sender ${SOURCES} ${LIBS} + +#main: +# ${COMPILER} ${CCFLAGS} -o ipaaca-main ${SOURCES} ${LIBS} + +#protoc: +# protoc --proto_path=../../proto ../../proto/ipaaca.proto --cpp_out=. + +#clean: +# rm -f libipaaca${LIB_SUFFIX} ipaaca-main ipaaca-sender ipaaca-receiver ipaaca.pb.h ipaaca.pb.cc + + diff --git a/ipaacalib/cpp/src/ipaaca-receiver b/ipaacalib/cpp/src/ipaaca-receiver new file mode 100755 index 0000000000000000000000000000000000000000..c1e75327b14a2892996d2b2baf8b7c395fda1e87 Binary files /dev/null and b/ipaacalib/cpp/src/ipaaca-receiver differ diff --git a/ipaacalib/cpp/src/ipaaca-sender b/ipaacalib/cpp/src/ipaaca-sender new file mode 100755 index 0000000000000000000000000000000000000000..264a94e3eeba896dd39f4a52f0fb1bf24f6a815b Binary files /dev/null and b/ipaacalib/cpp/src/ipaaca-sender differ diff --git a/ipaacalib/cpp/src/ipaaca-test-main.cc b/ipaacalib/cpp/src/ipaaca-test-main.cc index b6ce132704a81a95ccbe1aba63293ef31bde00f7..46946dbd8698df57e565cd8dec654e0de8e7cb36 100644 --- a/ipaacalib/cpp/src/ipaaca-test-main.cc +++ b/ipaacalib/cpp/src/ipaaca-test-main.cc @@ -30,7 +30,7 @@ * Excellence Initiative. */ -#include <ipaaca.h> +#include <../include/ipaaca/ipaaca.h> #include <typeinfo> //#include <rsc/logging/Logger.h> @@ -56,7 +56,7 @@ int main() { try{ //initialize_ipaaca_rsb(); - InputBuffer::ptr ib = InputBuffer::create("Tester", "testcategory"); + InputBuffer::ptr ib = InputBuffer::create("Tester", "spam"); ib->register_handler(my_first_iu_handler); while (true) { @@ -82,7 +82,7 @@ int main() { ob->register_handler(iu_handler_for_remote_changes); //std::cout << "Buffer: " << ob->unique_name() << std::endl; - IU::ptr iu = IU::create("testcategory"); + IU::ptr iu = IU::create("spam"); ob->add(iu); std::cout << "Updating in 1 sec" << std::endl; @@ -98,11 +98,20 @@ int main() { iu->add_link("grin", "DUMMY_IU_UID_1234efef1234"); - std::cout << "Interpreted as long value: " << iu->_payload["TEST"].to_int() << std::endl; - std::cout << "Interpreted as double value: " << iu->_payload["TEST"].to_float() << std::endl; + //std::cout << "Interpreted as long value: " << iu->_payload["TEST"].to_int() << std::endl; + //std::cout << "Interpreted as double value: " << iu->_payload["TEST"].to_float() << std::endl; std::cout << "Committing and quitting in 1 sec" << std::endl; sleep(1); + int c = 0; + while(true) { + std::stringstream ss; + ss << c; + iu->_payload["data"] = ss.str(); + std::cout << "iu->_payload[\"data\"]=" << ss.str() << std::endl; + c++; + sleep(1); + } iu->commit(); } catch (ipaaca::Exception& e) { std::cout << "== IPAACA EXCEPTION == " << e.what() << std::endl; diff --git a/ipaacalib/cpp/src/ipaaca.cc b/ipaacalib/cpp/src/ipaaca.cc index d96f5e9d6fdc7d7da8b38246028f418cd4cd0685..4001e1c4a4e975774321868e6c0f1deb6dcfecbe 100644 --- a/ipaacalib/cpp/src/ipaaca.cc +++ b/ipaacalib/cpp/src/ipaaca.cc @@ -385,17 +385,20 @@ IPAACA_EXPORT void Buffer::_allocate_unique_name(const std::string& basename, co } IPAACA_EXPORT void Buffer::register_handler(IUEventHandlerFunction function, IUEventType event_mask, const std::set<std::string>& categories) { + std::cout << "register_handler " << function << " " << event_mask << " " << categories << std::endl; IUEventHandler::ptr handler = IUEventHandler::ptr(new IUEventHandler(function, event_mask, categories)); _event_handlers.push_back(handler); } IPAACA_EXPORT void Buffer::register_handler(IUEventHandlerFunction function, IUEventType event_mask, const std::string& category) { + std::cout << "register_handler " << function << " " << event_mask << " " << category << std::endl; IUEventHandler::ptr handler = IUEventHandler::ptr(new IUEventHandler(function, event_mask, category)); _event_handlers.push_back(handler); } IPAACA_EXPORT void Buffer::call_iu_event_handlers(boost::shared_ptr<IUInterface> iu, bool local, IUEventType event_type, const std::string& category) { - //IPAACA_INFO("handling an event " << ipaaca::iu_event_type_to_str(event_type) << " for IU " << iu->uid()) + IPAACA_INFO("handling an event " << ipaaca::iu_event_type_to_str(event_type) << " for IU " << iu->uid()) + std::cout << "handling an event " << ipaaca::iu_event_type_to_str(event_type) << " for IU " << iu->uid() << std::endl; for (std::vector<IUEventHandler::ptr>::iterator it = _event_handlers.begin(); it != _event_handlers.end(); ++it) { (*it)->call(this, iu, local, event_type, category); } @@ -503,10 +506,15 @@ IPAACA_EXPORT boost::shared_ptr<int> CallbackIUResendRequest::call(const std::st //Informer<AnyType>::Ptr informer = _buffer->_get_informer(update->hidden_scope_name()); //Informer<ipaaca::IU>::DataPtr iu_data(iu); //informer->publish(iu_data); - //_buffer->call_iu_event_handlers(iu, true, IU_ŔESENDREQUEST, update->getHiddenScopeName()); + //_buffer->call_iu_event_handlers(iu, true, IU_RESENDREQUEST, update->getHiddenScopeName()); //_buffer->_publish_resend_update(iui, update->hidden_scope_name()); - _buffer->call_iu_event_handlers(iu, true, IU_UPDATED, update->hidden_scope_name()); + + std::cout << "dlw call_iu_event_handlers " << update->hidden_scope_name() << std::endl; + //_buffer->call_iu_event_handlers(iu, true, IU_UPDATED, update->hidden_scope_name()); revision_t revision = iu->revision(); + + iu->_publish_resend(iu, update->hidden_scope_name()); + return boost::shared_ptr<int>(new int(revision)); } else { revision_t revision = 0; @@ -600,6 +608,11 @@ IPAACA_EXPORT void OutputBuffer::_send_iu_commission(IUInterface* iu, revision_t informer->publish(data); } + + + + + IPAACA_EXPORT void OutputBuffer::add(IU::ptr iu) { if (_iu_store.count(iu->uid()) > 0) { @@ -623,12 +636,22 @@ IPAACA_EXPORT void OutputBuffer::_publish_iu(IU::ptr iu) informer->publish(iu_data); } +IPAACA_EXPORT void OutputBuffer::_publish_iu_resend(IU::ptr iu, const std::string& hidden_scope_name) +{ + Informer<AnyType>::Ptr informer = _get_informer(hidden_scope_name); + Informer<ipaaca::IU>::DataPtr iu_data(iu); + informer->publish(iu_data); +} + + + + IPAACA_EXPORT Informer<AnyType>::Ptr OutputBuffer::_get_informer(const std::string& category) { if (_informer_store.count(category) > 0) { return _informer_store[category]; } else { - //IPAACA_INFO("Making new informer for category " << category) + IPAACA_INFO("Making new informer for category " << category) std::string scope_string = "/ipaaca/category/" + category; Informer<AnyType>::Ptr informer = getFactory().createInformer<AnyType> ( Scope(scope_string)); _informer_store[category] = informer; @@ -769,16 +792,17 @@ IPAACA_EXPORT RemoteServerPtr InputBuffer::_get_remote_server(const std::string& IPAACA_EXPORT ListenerPtr InputBuffer::_create_category_listener_if_needed(const std::string& category) { - //IPAACA_INFO("Entering ...") + IPAACA_INFO("Entering ...") std::map<std::string, ListenerPtr>::iterator it = _listener_store.find(category); if (it!=_listener_store.end()) { - //IPAACA_INFO("... exiting.") + IPAACA_INFO("... exiting.") return it->second; } - //IPAACA_INFO("Creating a new listener for category " << category) + IPAACA_INFO("Creating a new listener for category " << category) + std::cout << "Creating a new listener for category " << category << std::endl; std::string scope_string = "/ipaaca/category/" + category; ListenerPtr listener = getFactory().createListener( Scope(scope_string) ); - //IPAACA_INFO("Adding handler") + IPAACA_INFO("Adding handler") HandlerPtr event_handler = HandlerPtr( new EventFunctionHandler( boost::bind(&InputBuffer::_handle_iu_events, this, _1) @@ -786,31 +810,38 @@ IPAACA_EXPORT ListenerPtr InputBuffer::_create_category_listener_if_needed(const ); listener->addHandler(event_handler); _listener_store[category] = listener; - //IPAACA_INFO("... exiting.") + IPAACA_INFO("... exiting.") return listener; } IPAACA_EXPORT void InputBuffer::_trigger_resend_request(EventPtr event) { std::string type = event->getType(); - std::string uid = NULL; - std::string writerName = NULL; + std::string uid = ""; + std::string writerName = ""; if (type == "ipaaca::IUPayloadUpdate") { + std::cout << "trigger ipaaca::IUPayloadUpdate" << std::endl; boost::shared_ptr<IUPayloadUpdate> update = boost::static_pointer_cast<IUPayloadUpdate>(event->getData()); uid = update->uid; writerName = update->writer_name; } else if (type == "ipaaca::IULinkUpdate") { + std::cout << "trigger ipaaca::IULinkUpdate" << std::endl; boost::shared_ptr<IULinkUpdate> update = boost::static_pointer_cast<IULinkUpdate>(event->getData()); uid = update->uid; writerName = update->writer_name; } else if (type == "ipaaca::protobuf::IUCommission") { + std::cout << "trigger ipaaca::protobuf::IUCommission" << std::endl; boost::shared_ptr<protobuf::IUCommission> update = boost::static_pointer_cast<protobuf::IUCommission>(event->getData()); uid = update->uid(); writerName = update->writer_name(); + } else { + std::cout << "trigger ??? else" << std::endl; } if (!writerName.empty()) { + std::cout << "writer name not empty " << writerName << std::endl; //RemoteServerPtr server = boost::static_pointer_cast<InputBuffer>(_buffer)->_get_remote_server(_owner_name); RemoteServerPtr server = _get_remote_server(writerName); if (!uid.empty()) { + std::cout << "uid not empty " << uid << std::endl; boost::shared_ptr<protobuf::IUResendRequest> update = boost::shared_ptr<protobuf::IUResendRequest>(new protobuf::IUResendRequest()); update->set_uid(uid); update->set_hidden_scope_name(_uuid); @@ -818,15 +849,17 @@ IPAACA_EXPORT void InputBuffer::_trigger_resend_request(EventPtr event) { if (*result == 0) { throw IUResendRequestFailedError(); } else { - //revision = *result; //TODO return dlw TODO + std::cout << "revision " << *result << std::endl; //TODO return dlw TODO } } } } IPAACA_EXPORT void InputBuffer::_handle_iu_events(EventPtr event) { + std::cout << "handle iu events" << std::endl; std::string type = event->getType(); if (type == "ipaaca::RemotePushIU") { + std::cout << "ipaaca::RemotePushIU" << std::endl; boost::shared_ptr<RemotePushIU> iu = boost::static_pointer_cast<RemotePushIU>(event->getData()); if (_iu_store.count(iu->category()) > 0) { // already got the IU... ignore @@ -837,6 +870,7 @@ IPAACA_EXPORT void InputBuffer::_handle_iu_events(EventPtr event) } //IPAACA_INFO( "New RemotePushIU state: " << (*iu) ) } else if (type == "ipaaca::RemoteMessage") { + std::cout << "ipaaca::RemoteMessage" << std::endl; boost::shared_ptr<RemoteMessage> iu = boost::static_pointer_cast<RemoteMessage>(event->getData()); //_iu_store[iu->uid()] = iu; //iu->_set_buffer(this); @@ -844,17 +878,21 @@ IPAACA_EXPORT void InputBuffer::_handle_iu_events(EventPtr event) call_iu_event_handlers(iu, false, IU_MESSAGE, iu->category() ); //_iu_store.erase(iu->uid()); } else { + std::cout << "elseeeeeee" << std::endl; RemotePushIUStore::iterator it; if (type == "ipaaca::IUPayloadUpdate") { + std::cout << "ipaaca::IUPayloadUpdate" << std::endl; boost::shared_ptr<IUPayloadUpdate> update = boost::static_pointer_cast<IUPayloadUpdate>(event->getData()); //IPAACA_INFO("** writer name: " << update->writer_name) + std::cout << "writer name " << update->writer_name << std::endl; if (update->writer_name == _unique_name) { return; } it = _iu_store.find(update->uid); if (it == _iu_store.end()) { + std::cout << "Using UPDATED message for an IU that we did not fully receive before" << update->writer_name << std::endl; _trigger_resend_request(event); - IPAACA_INFO("Ignoring UPDATED message for an IU that we did not fully receive before") + IPAACA_INFO("Using UPDATED message for an IU that we did not fully receive before") return; } // @@ -1043,6 +1081,32 @@ IPAACA_EXPORT void IU::_modify_links(bool is_delta, const LinkMap& new_links, co } _revision_lock.unlock(); } + + +IPAACA_EXPORT void IU::_publish_resend(IU::ptr iu, const std::string& hidden_scope_name) +{ + //_revision_lock.lock(); + //if (_committed) { + // _revision_lock.unlock(); + // throw IUCommittedError(); + //} + //_increase_revision_number(); + //if (is_published()) { +//IUInterface* iu, bool is_delta, revision_t revision, const LinkMap& new_links, const LinkMap& links_to_remove, const std::string& writer_name +//dlw TODO +// IU::ptr iu = boost::static_pointer_cast<IU>(this); + //IU::ptr iu = boost::make_static(this); + + _buffer->_publish_iu_resend(iu, hidden_scope_name); + + //} + //_revision_lock.unlock(); +} + + + + + IPAACA_EXPORT void IU::_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) { _revision_lock.lock(); diff --git a/ipaacalib/cpp/test/src/Makefile b/ipaacalib/cpp/test/src/Makefile index 11a2336bdded24ce11d4832b37928f1b9ec3beb3..ff3b45be572668655974721966705405b016ae11 100644 --- a/ipaacalib/cpp/test/src/Makefile +++ b/ipaacalib/cpp/test/src/Makefile @@ -2,7 +2,7 @@ CONFIG = -DIPAACA_DEBUG_MESSAGES #IPAACASOURCES = ../../src/ipaaca.cc ipaaca.pb.cc #TEXTSOURCES = ${IPAACASOURCES} testipaaca.cc TEXTSOURCES = testipaaca.cc -CCFLAGS=-I../../../../deps/include -I../../../../dist/include -I. -I../../src -I/usr/local/include -I/opt/local/include ${CONFIG} +CCFLAGS=-I../../build -I../../../../deps/include -I../../../../dist/include -I. -I../../src -I/usr/local/include -I/opt/local/include ${CONFIG} BOOSTLIBS = -L/opt/local/lib -lboost_regex-mt -lboost_date_time-mt -lboost_thread-mt PROTOLIBS = -L/opt/local/lib -lprotobuf #LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -lrsc -lrsbcore diff --git a/ipaacalib/cpp/test/src/Makefile~ b/ipaacalib/cpp/test/src/Makefile~ new file mode 100644 index 0000000000000000000000000000000000000000..6227f8f6720efbc3993471f65520989c5f5b0fbc --- /dev/null +++ b/ipaacalib/cpp/test/src/Makefile~ @@ -0,0 +1,27 @@ +CONFIG = -DIPAACA_DEBUG_MESSAGES +#IPAACASOURCES = ../../src/ipaaca.cc ipaaca.pb.cc +#TEXTSOURCES = ${IPAACASOURCES} testipaaca.cc +TEXTSOURCES = testipaaca.cc +CCFLAGS=-I../../build -I../../../../deps/include -I../../../../dist/include -I. -I../../src -I/usr/local/include -I/opt/local/include ${CONFIG} +BOOSTLIBS = -L/opt/local/lib -lboost_regex-mt -lboost_date_time-mt -lboost_thread-mt +PROTOLIBS = -L/opt/local/lib -lprotobuf +#LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -lrsc -lrsbcore +#LIBS = -L../../../../deps/lib -L../../../../dist/lib -lipaaca +LIBS = -L../../build -L../../../../deps/lib -L../../../../dist/lib -lipaaca + +#COMPILER = gfilt +COMPILER = gcc + +all: testipaaca + + +testipaaca: + ${COMPILER} ${CCFLAGS} -o testipaaca ${TEXTSOURCES} ${LIBS} + +protoc: + protoc --proto_path=../../../proto ../../../proto/ipaaca.proto --cpp_out=. + +clean: + rm -f testipaaca ipaaca.pb.h ipaaca.pb.cc + + diff --git a/ipaacalib/cpp/test/src/testipaaca.cc b/ipaacalib/cpp/test/src/testipaaca.cc index 0de077af57c46d9bed0a44077c18709d9a9c0873..828136ba81da19eaf49546b225f229788c5ed986 100644 --- a/ipaacalib/cpp/test/src/testipaaca.cc +++ b/ipaacalib/cpp/test/src/testipaaca.cc @@ -138,7 +138,7 @@ void TextSender::publish_text_to_print(const std::string& text, const std::strin } } -int old_main() { +int main() { TextSender sender; sleep(1); sender.publish_text_to_print("(INIT)"); @@ -146,7 +146,7 @@ int old_main() { while (true) sleep(1); } -int main() { +int old_main() { std::cerr << "TODO: implement Ipaaca C++ test cases." << std::endl; return 0; }