// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: proto/services/serviceReply.proto

#ifndef PROTOBUF_INCLUDED_proto_2fservices_2fserviceReply_2eproto
#define PROTOBUF_INCLUDED_proto_2fservices_2fserviceReply_2eproto

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3006001
#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 3006001 < 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/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/inlined_string_field.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
#include "proto/general/success.pb.h"
#include "proto/general/error.pb.h"
#include "proto/topicData/topicDataRecord/dataStructure/lists.pb.h"
#include "proto/clients/client.pb.h"
#include "proto/devices/device.pb.h"
#include "proto/devices/topicMux.pb.h"
#include "proto/devices/topicDemux.pb.h"
#include "proto/servers/server.pb.h"
#include "proto/sessions/session.pb.h"
#include "proto/services/service.pb.h"
#include "proto/processing/processingModule.pb.h"
#include "proto/processing/lockstepProcessing.pb.h"
// @@protoc_insertion_point(includes)
#define PROTOBUF_INTERNAL_EXPORT_protobuf_proto_2fservices_2fserviceReply_2eproto 

namespace protobuf_proto_2fservices_2fserviceReply_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[1];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
}  // namespace protobuf_proto_2fservices_2fserviceReply_2eproto
namespace ubii {
namespace services {
class ServiceReply;
class ServiceReplyDefaultTypeInternal;
extern ServiceReplyDefaultTypeInternal _ServiceReply_default_instance_;
}  // namespace services
}  // namespace ubii
namespace google {
namespace protobuf {
template<> ::ubii::services::ServiceReply* Arena::CreateMaybeMessage<::ubii::services::ServiceReply>(Arena*);
}  // namespace protobuf
}  // namespace google
namespace ubii {
namespace services {

// ===================================================================

class ServiceReply : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ubii.services.ServiceReply) */ {
 public:
  ServiceReply();
  virtual ~ServiceReply();

  ServiceReply(const ServiceReply& from);

  inline ServiceReply& operator=(const ServiceReply& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  ServiceReply(ServiceReply&& from) noexcept
    : ServiceReply() {
    *this = ::std::move(from);
  }

  inline ServiceReply& operator=(ServiceReply&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const ServiceReply& default_instance();

  enum TypeCase {
    kSuccess = 1,
    kError = 2,
    kClient = 3,
    kDevice = 4,
    kServer = 5,
    kSession = 6,
    kSessionList = 7,
    kProcessingModule = 8,
    kProcessingModuleList = 9,
    kStringList = 10,
    kTopicMux = 11,
    kTopicMuxList = 12,
    kTopicDemux = 13,
    kTopicDemuxList = 14,
    kClientList = 15,
    kDeviceList = 16,
    kService = 17,
    kServiceList = 18,
    kLockstepProcessingReply = 19,
    TYPE_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const ServiceReply* internal_default_instance() {
    return reinterpret_cast<const ServiceReply*>(
               &_ServiceReply_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  void Swap(ServiceReply* other);
  friend void swap(ServiceReply& a, ServiceReply& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline ServiceReply* New() const final {
    return CreateMaybeMessage<ServiceReply>(NULL);
  }

  ServiceReply* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<ServiceReply>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const ServiceReply& from);
  void MergeFrom(const ServiceReply& from);
  void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ServiceReply* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // .ubii.general.Success success = 1;
  bool has_success() const;
  void clear_success();
  static const int kSuccessFieldNumber = 1;
  private:
  const ::ubii::general::Success& _internal_success() const;
  public:
  const ::ubii::general::Success& success() const;
  ::ubii::general::Success* release_success();
  ::ubii::general::Success* mutable_success();
  void set_allocated_success(::ubii::general::Success* success);

  // .ubii.general.Error error = 2;
  bool has_error() const;
  void clear_error();
  static const int kErrorFieldNumber = 2;
  private:
  const ::ubii::general::Error& _internal_error() const;
  public:
  const ::ubii::general::Error& error() const;
  ::ubii::general::Error* release_error();
  ::ubii::general::Error* mutable_error();
  void set_allocated_error(::ubii::general::Error* error);

  // .ubii.clients.Client client = 3;
  bool has_client() const;
  void clear_client();
  static const int kClientFieldNumber = 3;
  private:
  const ::ubii::clients::Client& _internal_client() const;
  public:
  const ::ubii::clients::Client& client() const;
  ::ubii::clients::Client* release_client();
  ::ubii::clients::Client* mutable_client();
  void set_allocated_client(::ubii::clients::Client* client);

  // .ubii.devices.Device device = 4;
  bool has_device() const;
  void clear_device();
  static const int kDeviceFieldNumber = 4;
  private:
  const ::ubii::devices::Device& _internal_device() const;
  public:
  const ::ubii::devices::Device& device() const;
  ::ubii::devices::Device* release_device();
  ::ubii::devices::Device* mutable_device();
  void set_allocated_device(::ubii::devices::Device* device);

  // .ubii.servers.Server server = 5;
  bool has_server() const;
  void clear_server();
  static const int kServerFieldNumber = 5;
  private:
  const ::ubii::servers::Server& _internal_server() const;
  public:
  const ::ubii::servers::Server& server() const;
  ::ubii::servers::Server* release_server();
  ::ubii::servers::Server* mutable_server();
  void set_allocated_server(::ubii::servers::Server* server);

  // .ubii.sessions.Session session = 6;
  bool has_session() const;
  void clear_session();
  static const int kSessionFieldNumber = 6;
  private:
  const ::ubii::sessions::Session& _internal_session() const;
  public:
  const ::ubii::sessions::Session& session() const;
  ::ubii::sessions::Session* release_session();
  ::ubii::sessions::Session* mutable_session();
  void set_allocated_session(::ubii::sessions::Session* session);

  // .ubii.sessions.SessionList session_list = 7;
  bool has_session_list() const;
  void clear_session_list();
  static const int kSessionListFieldNumber = 7;
  private:
  const ::ubii::sessions::SessionList& _internal_session_list() const;
  public:
  const ::ubii::sessions::SessionList& session_list() const;
  ::ubii::sessions::SessionList* release_session_list();
  ::ubii::sessions::SessionList* mutable_session_list();
  void set_allocated_session_list(::ubii::sessions::SessionList* session_list);

  // .ubii.processing.ProcessingModule processing_module = 8;
  bool has_processing_module() const;
  void clear_processing_module();
  static const int kProcessingModuleFieldNumber = 8;
  private:
  const ::ubii::processing::ProcessingModule& _internal_processing_module() const;
  public:
  const ::ubii::processing::ProcessingModule& processing_module() const;
  ::ubii::processing::ProcessingModule* release_processing_module();
  ::ubii::processing::ProcessingModule* mutable_processing_module();
  void set_allocated_processing_module(::ubii::processing::ProcessingModule* processing_module);

  // .ubii.processing.ProcessingModuleList processing_module_list = 9;
  bool has_processing_module_list() const;
  void clear_processing_module_list();
  static const int kProcessingModuleListFieldNumber = 9;
  private:
  const ::ubii::processing::ProcessingModuleList& _internal_processing_module_list() const;
  public:
  const ::ubii::processing::ProcessingModuleList& processing_module_list() const;
  ::ubii::processing::ProcessingModuleList* release_processing_module_list();
  ::ubii::processing::ProcessingModuleList* mutable_processing_module_list();
  void set_allocated_processing_module_list(::ubii::processing::ProcessingModuleList* processing_module_list);

  // .ubii.dataStructure.StringList string_list = 10;
  bool has_string_list() const;
  void clear_string_list();
  static const int kStringListFieldNumber = 10;
  private:
  const ::ubii::dataStructure::StringList& _internal_string_list() const;
  public:
  const ::ubii::dataStructure::StringList& string_list() const;
  ::ubii::dataStructure::StringList* release_string_list();
  ::ubii::dataStructure::StringList* mutable_string_list();
  void set_allocated_string_list(::ubii::dataStructure::StringList* string_list);

  // .ubii.devices.TopicMux topic_mux = 11;
  bool has_topic_mux() const;
  void clear_topic_mux();
  static const int kTopicMuxFieldNumber = 11;
  private:
  const ::ubii::devices::TopicMux& _internal_topic_mux() const;
  public:
  const ::ubii::devices::TopicMux& topic_mux() const;
  ::ubii::devices::TopicMux* release_topic_mux();
  ::ubii::devices::TopicMux* mutable_topic_mux();
  void set_allocated_topic_mux(::ubii::devices::TopicMux* topic_mux);

  // .ubii.devices.TopicMuxList topic_mux_list = 12;
  bool has_topic_mux_list() const;
  void clear_topic_mux_list();
  static const int kTopicMuxListFieldNumber = 12;
  private:
  const ::ubii::devices::TopicMuxList& _internal_topic_mux_list() const;
  public:
  const ::ubii::devices::TopicMuxList& topic_mux_list() const;
  ::ubii::devices::TopicMuxList* release_topic_mux_list();
  ::ubii::devices::TopicMuxList* mutable_topic_mux_list();
  void set_allocated_topic_mux_list(::ubii::devices::TopicMuxList* topic_mux_list);

  // .ubii.devices.TopicDemux topic_demux = 13;
  bool has_topic_demux() const;
  void clear_topic_demux();
  static const int kTopicDemuxFieldNumber = 13;
  private:
  const ::ubii::devices::TopicDemux& _internal_topic_demux() const;
  public:
  const ::ubii::devices::TopicDemux& topic_demux() const;
  ::ubii::devices::TopicDemux* release_topic_demux();
  ::ubii::devices::TopicDemux* mutable_topic_demux();
  void set_allocated_topic_demux(::ubii::devices::TopicDemux* topic_demux);

  // .ubii.devices.TopicDemuxList topic_demux_list = 14;
  bool has_topic_demux_list() const;
  void clear_topic_demux_list();
  static const int kTopicDemuxListFieldNumber = 14;
  private:
  const ::ubii::devices::TopicDemuxList& _internal_topic_demux_list() const;
  public:
  const ::ubii::devices::TopicDemuxList& topic_demux_list() const;
  ::ubii::devices::TopicDemuxList* release_topic_demux_list();
  ::ubii::devices::TopicDemuxList* mutable_topic_demux_list();
  void set_allocated_topic_demux_list(::ubii::devices::TopicDemuxList* topic_demux_list);

  // .ubii.clients.ClientList client_list = 15;
  bool has_client_list() const;
  void clear_client_list();
  static const int kClientListFieldNumber = 15;
  private:
  const ::ubii::clients::ClientList& _internal_client_list() const;
  public:
  const ::ubii::clients::ClientList& client_list() const;
  ::ubii::clients::ClientList* release_client_list();
  ::ubii::clients::ClientList* mutable_client_list();
  void set_allocated_client_list(::ubii::clients::ClientList* client_list);

  // .ubii.devices.DeviceList device_list = 16;
  bool has_device_list() const;
  void clear_device_list();
  static const int kDeviceListFieldNumber = 16;
  private:
  const ::ubii::devices::DeviceList& _internal_device_list() const;
  public:
  const ::ubii::devices::DeviceList& device_list() const;
  ::ubii::devices::DeviceList* release_device_list();
  ::ubii::devices::DeviceList* mutable_device_list();
  void set_allocated_device_list(::ubii::devices::DeviceList* device_list);

  // .ubii.services.Service service = 17;
  bool has_service() const;
  void clear_service();
  static const int kServiceFieldNumber = 17;
  private:
  const ::ubii::services::Service& _internal_service() const;
  public:
  const ::ubii::services::Service& service() const;
  ::ubii::services::Service* release_service();
  ::ubii::services::Service* mutable_service();
  void set_allocated_service(::ubii::services::Service* service);

  // .ubii.services.ServiceList service_list = 18;
  bool has_service_list() const;
  void clear_service_list();
  static const int kServiceListFieldNumber = 18;
  private:
  const ::ubii::services::ServiceList& _internal_service_list() const;
  public:
  const ::ubii::services::ServiceList& service_list() const;
  ::ubii::services::ServiceList* release_service_list();
  ::ubii::services::ServiceList* mutable_service_list();
  void set_allocated_service_list(::ubii::services::ServiceList* service_list);

  // .ubii.processing.LockstepProcessingReply lockstep_processing_reply = 19;
  bool has_lockstep_processing_reply() const;
  void clear_lockstep_processing_reply();
  static const int kLockstepProcessingReplyFieldNumber = 19;
  private:
  const ::ubii::processing::LockstepProcessingReply& _internal_lockstep_processing_reply() const;
  public:
  const ::ubii::processing::LockstepProcessingReply& lockstep_processing_reply() const;
  ::ubii::processing::LockstepProcessingReply* release_lockstep_processing_reply();
  ::ubii::processing::LockstepProcessingReply* mutable_lockstep_processing_reply();
  void set_allocated_lockstep_processing_reply(::ubii::processing::LockstepProcessingReply* lockstep_processing_reply);

  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:ubii.services.ServiceReply)
 private:
  void set_has_success();
  void set_has_error();
  void set_has_client();
  void set_has_device();
  void set_has_server();
  void set_has_session();
  void set_has_session_list();
  void set_has_processing_module();
  void set_has_processing_module_list();
  void set_has_string_list();
  void set_has_topic_mux();
  void set_has_topic_mux_list();
  void set_has_topic_demux();
  void set_has_topic_demux_list();
  void set_has_client_list();
  void set_has_device_list();
  void set_has_service();
  void set_has_service_list();
  void set_has_lockstep_processing_reply();

  inline bool has_type() const;
  inline void clear_has_type();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  union TypeUnion {
    TypeUnion() {}
    ::ubii::general::Success* success_;
    ::ubii::general::Error* error_;
    ::ubii::clients::Client* client_;
    ::ubii::devices::Device* device_;
    ::ubii::servers::Server* server_;
    ::ubii::sessions::Session* session_;
    ::ubii::sessions::SessionList* session_list_;
    ::ubii::processing::ProcessingModule* processing_module_;
    ::ubii::processing::ProcessingModuleList* processing_module_list_;
    ::ubii::dataStructure::StringList* string_list_;
    ::ubii::devices::TopicMux* topic_mux_;
    ::ubii::devices::TopicMuxList* topic_mux_list_;
    ::ubii::devices::TopicDemux* topic_demux_;
    ::ubii::devices::TopicDemuxList* topic_demux_list_;
    ::ubii::clients::ClientList* client_list_;
    ::ubii::devices::DeviceList* device_list_;
    ::ubii::services::Service* service_;
    ::ubii::services::ServiceList* service_list_;
    ::ubii::processing::LockstepProcessingReply* lockstep_processing_reply_;
  } type_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::uint32 _oneof_case_[1];

  friend struct ::protobuf_proto_2fservices_2fserviceReply_2eproto::TableStruct;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// ServiceReply

// .ubii.general.Success success = 1;
inline bool ServiceReply::has_success() const {
  return type_case() == kSuccess;
}
inline void ServiceReply::set_has_success() {
  _oneof_case_[0] = kSuccess;
}
inline const ::ubii::general::Success& ServiceReply::_internal_success() const {
  return *type_.success_;
}
inline ::ubii::general::Success* ServiceReply::release_success() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.success)
  if (has_success()) {
    clear_has_type();
      ::ubii::general::Success* temp = type_.success_;
    type_.success_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::general::Success& ServiceReply::success() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.success)
  return has_success()
      ? *type_.success_
      : *reinterpret_cast< ::ubii::general::Success*>(&::ubii::general::_Success_default_instance_);
}
inline ::ubii::general::Success* ServiceReply::mutable_success() {
  if (!has_success()) {
    clear_type();
    set_has_success();
    type_.success_ = CreateMaybeMessage< ::ubii::general::Success >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.success)
  return type_.success_;
}

// .ubii.general.Error error = 2;
inline bool ServiceReply::has_error() const {
  return type_case() == kError;
}
inline void ServiceReply::set_has_error() {
  _oneof_case_[0] = kError;
}
inline const ::ubii::general::Error& ServiceReply::_internal_error() const {
  return *type_.error_;
}
inline ::ubii::general::Error* ServiceReply::release_error() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.error)
  if (has_error()) {
    clear_has_type();
      ::ubii::general::Error* temp = type_.error_;
    type_.error_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::general::Error& ServiceReply::error() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.error)
  return has_error()
      ? *type_.error_
      : *reinterpret_cast< ::ubii::general::Error*>(&::ubii::general::_Error_default_instance_);
}
inline ::ubii::general::Error* ServiceReply::mutable_error() {
  if (!has_error()) {
    clear_type();
    set_has_error();
    type_.error_ = CreateMaybeMessage< ::ubii::general::Error >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.error)
  return type_.error_;
}

// .ubii.clients.Client client = 3;
inline bool ServiceReply::has_client() const {
  return type_case() == kClient;
}
inline void ServiceReply::set_has_client() {
  _oneof_case_[0] = kClient;
}
inline const ::ubii::clients::Client& ServiceReply::_internal_client() const {
  return *type_.client_;
}
inline ::ubii::clients::Client* ServiceReply::release_client() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.client)
  if (has_client()) {
    clear_has_type();
      ::ubii::clients::Client* temp = type_.client_;
    type_.client_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::clients::Client& ServiceReply::client() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.client)
  return has_client()
      ? *type_.client_
      : *reinterpret_cast< ::ubii::clients::Client*>(&::ubii::clients::_Client_default_instance_);
}
inline ::ubii::clients::Client* ServiceReply::mutable_client() {
  if (!has_client()) {
    clear_type();
    set_has_client();
    type_.client_ = CreateMaybeMessage< ::ubii::clients::Client >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.client)
  return type_.client_;
}

// .ubii.devices.Device device = 4;
inline bool ServiceReply::has_device() const {
  return type_case() == kDevice;
}
inline void ServiceReply::set_has_device() {
  _oneof_case_[0] = kDevice;
}
inline const ::ubii::devices::Device& ServiceReply::_internal_device() const {
  return *type_.device_;
}
inline ::ubii::devices::Device* ServiceReply::release_device() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.device)
  if (has_device()) {
    clear_has_type();
      ::ubii::devices::Device* temp = type_.device_;
    type_.device_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::devices::Device& ServiceReply::device() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.device)
  return has_device()
      ? *type_.device_
      : *reinterpret_cast< ::ubii::devices::Device*>(&::ubii::devices::_Device_default_instance_);
}
inline ::ubii::devices::Device* ServiceReply::mutable_device() {
  if (!has_device()) {
    clear_type();
    set_has_device();
    type_.device_ = CreateMaybeMessage< ::ubii::devices::Device >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.device)
  return type_.device_;
}

// .ubii.servers.Server server = 5;
inline bool ServiceReply::has_server() const {
  return type_case() == kServer;
}
inline void ServiceReply::set_has_server() {
  _oneof_case_[0] = kServer;
}
inline const ::ubii::servers::Server& ServiceReply::_internal_server() const {
  return *type_.server_;
}
inline ::ubii::servers::Server* ServiceReply::release_server() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.server)
  if (has_server()) {
    clear_has_type();
      ::ubii::servers::Server* temp = type_.server_;
    type_.server_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::servers::Server& ServiceReply::server() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.server)
  return has_server()
      ? *type_.server_
      : *reinterpret_cast< ::ubii::servers::Server*>(&::ubii::servers::_Server_default_instance_);
}
inline ::ubii::servers::Server* ServiceReply::mutable_server() {
  if (!has_server()) {
    clear_type();
    set_has_server();
    type_.server_ = CreateMaybeMessage< ::ubii::servers::Server >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.server)
  return type_.server_;
}

// .ubii.sessions.Session session = 6;
inline bool ServiceReply::has_session() const {
  return type_case() == kSession;
}
inline void ServiceReply::set_has_session() {
  _oneof_case_[0] = kSession;
}
inline const ::ubii::sessions::Session& ServiceReply::_internal_session() const {
  return *type_.session_;
}
inline ::ubii::sessions::Session* ServiceReply::release_session() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.session)
  if (has_session()) {
    clear_has_type();
      ::ubii::sessions::Session* temp = type_.session_;
    type_.session_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::sessions::Session& ServiceReply::session() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.session)
  return has_session()
      ? *type_.session_
      : *reinterpret_cast< ::ubii::sessions::Session*>(&::ubii::sessions::_Session_default_instance_);
}
inline ::ubii::sessions::Session* ServiceReply::mutable_session() {
  if (!has_session()) {
    clear_type();
    set_has_session();
    type_.session_ = CreateMaybeMessage< ::ubii::sessions::Session >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.session)
  return type_.session_;
}

// .ubii.sessions.SessionList session_list = 7;
inline bool ServiceReply::has_session_list() const {
  return type_case() == kSessionList;
}
inline void ServiceReply::set_has_session_list() {
  _oneof_case_[0] = kSessionList;
}
inline const ::ubii::sessions::SessionList& ServiceReply::_internal_session_list() const {
  return *type_.session_list_;
}
inline ::ubii::sessions::SessionList* ServiceReply::release_session_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.session_list)
  if (has_session_list()) {
    clear_has_type();
      ::ubii::sessions::SessionList* temp = type_.session_list_;
    type_.session_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::sessions::SessionList& ServiceReply::session_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.session_list)
  return has_session_list()
      ? *type_.session_list_
      : *reinterpret_cast< ::ubii::sessions::SessionList*>(&::ubii::sessions::_SessionList_default_instance_);
}
inline ::ubii::sessions::SessionList* ServiceReply::mutable_session_list() {
  if (!has_session_list()) {
    clear_type();
    set_has_session_list();
    type_.session_list_ = CreateMaybeMessage< ::ubii::sessions::SessionList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.session_list)
  return type_.session_list_;
}

// .ubii.processing.ProcessingModule processing_module = 8;
inline bool ServiceReply::has_processing_module() const {
  return type_case() == kProcessingModule;
}
inline void ServiceReply::set_has_processing_module() {
  _oneof_case_[0] = kProcessingModule;
}
inline const ::ubii::processing::ProcessingModule& ServiceReply::_internal_processing_module() const {
  return *type_.processing_module_;
}
inline ::ubii::processing::ProcessingModule* ServiceReply::release_processing_module() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.processing_module)
  if (has_processing_module()) {
    clear_has_type();
      ::ubii::processing::ProcessingModule* temp = type_.processing_module_;
    type_.processing_module_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::processing::ProcessingModule& ServiceReply::processing_module() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.processing_module)
  return has_processing_module()
      ? *type_.processing_module_
      : *reinterpret_cast< ::ubii::processing::ProcessingModule*>(&::ubii::processing::_ProcessingModule_default_instance_);
}
inline ::ubii::processing::ProcessingModule* ServiceReply::mutable_processing_module() {
  if (!has_processing_module()) {
    clear_type();
    set_has_processing_module();
    type_.processing_module_ = CreateMaybeMessage< ::ubii::processing::ProcessingModule >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.processing_module)
  return type_.processing_module_;
}

// .ubii.processing.ProcessingModuleList processing_module_list = 9;
inline bool ServiceReply::has_processing_module_list() const {
  return type_case() == kProcessingModuleList;
}
inline void ServiceReply::set_has_processing_module_list() {
  _oneof_case_[0] = kProcessingModuleList;
}
inline const ::ubii::processing::ProcessingModuleList& ServiceReply::_internal_processing_module_list() const {
  return *type_.processing_module_list_;
}
inline ::ubii::processing::ProcessingModuleList* ServiceReply::release_processing_module_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.processing_module_list)
  if (has_processing_module_list()) {
    clear_has_type();
      ::ubii::processing::ProcessingModuleList* temp = type_.processing_module_list_;
    type_.processing_module_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::processing::ProcessingModuleList& ServiceReply::processing_module_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.processing_module_list)
  return has_processing_module_list()
      ? *type_.processing_module_list_
      : *reinterpret_cast< ::ubii::processing::ProcessingModuleList*>(&::ubii::processing::_ProcessingModuleList_default_instance_);
}
inline ::ubii::processing::ProcessingModuleList* ServiceReply::mutable_processing_module_list() {
  if (!has_processing_module_list()) {
    clear_type();
    set_has_processing_module_list();
    type_.processing_module_list_ = CreateMaybeMessage< ::ubii::processing::ProcessingModuleList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.processing_module_list)
  return type_.processing_module_list_;
}

// .ubii.dataStructure.StringList string_list = 10;
inline bool ServiceReply::has_string_list() const {
  return type_case() == kStringList;
}
inline void ServiceReply::set_has_string_list() {
  _oneof_case_[0] = kStringList;
}
inline const ::ubii::dataStructure::StringList& ServiceReply::_internal_string_list() const {
  return *type_.string_list_;
}
inline ::ubii::dataStructure::StringList* ServiceReply::release_string_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.string_list)
  if (has_string_list()) {
    clear_has_type();
      ::ubii::dataStructure::StringList* temp = type_.string_list_;
    type_.string_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::dataStructure::StringList& ServiceReply::string_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.string_list)
  return has_string_list()
      ? *type_.string_list_
      : *reinterpret_cast< ::ubii::dataStructure::StringList*>(&::ubii::dataStructure::_StringList_default_instance_);
}
inline ::ubii::dataStructure::StringList* ServiceReply::mutable_string_list() {
  if (!has_string_list()) {
    clear_type();
    set_has_string_list();
    type_.string_list_ = CreateMaybeMessage< ::ubii::dataStructure::StringList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.string_list)
  return type_.string_list_;
}

// .ubii.devices.TopicMux topic_mux = 11;
inline bool ServiceReply::has_topic_mux() const {
  return type_case() == kTopicMux;
}
inline void ServiceReply::set_has_topic_mux() {
  _oneof_case_[0] = kTopicMux;
}
inline const ::ubii::devices::TopicMux& ServiceReply::_internal_topic_mux() const {
  return *type_.topic_mux_;
}
inline ::ubii::devices::TopicMux* ServiceReply::release_topic_mux() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.topic_mux)
  if (has_topic_mux()) {
    clear_has_type();
      ::ubii::devices::TopicMux* temp = type_.topic_mux_;
    type_.topic_mux_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::devices::TopicMux& ServiceReply::topic_mux() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.topic_mux)
  return has_topic_mux()
      ? *type_.topic_mux_
      : *reinterpret_cast< ::ubii::devices::TopicMux*>(&::ubii::devices::_TopicMux_default_instance_);
}
inline ::ubii::devices::TopicMux* ServiceReply::mutable_topic_mux() {
  if (!has_topic_mux()) {
    clear_type();
    set_has_topic_mux();
    type_.topic_mux_ = CreateMaybeMessage< ::ubii::devices::TopicMux >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.topic_mux)
  return type_.topic_mux_;
}

// .ubii.devices.TopicMuxList topic_mux_list = 12;
inline bool ServiceReply::has_topic_mux_list() const {
  return type_case() == kTopicMuxList;
}
inline void ServiceReply::set_has_topic_mux_list() {
  _oneof_case_[0] = kTopicMuxList;
}
inline const ::ubii::devices::TopicMuxList& ServiceReply::_internal_topic_mux_list() const {
  return *type_.topic_mux_list_;
}
inline ::ubii::devices::TopicMuxList* ServiceReply::release_topic_mux_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.topic_mux_list)
  if (has_topic_mux_list()) {
    clear_has_type();
      ::ubii::devices::TopicMuxList* temp = type_.topic_mux_list_;
    type_.topic_mux_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::devices::TopicMuxList& ServiceReply::topic_mux_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.topic_mux_list)
  return has_topic_mux_list()
      ? *type_.topic_mux_list_
      : *reinterpret_cast< ::ubii::devices::TopicMuxList*>(&::ubii::devices::_TopicMuxList_default_instance_);
}
inline ::ubii::devices::TopicMuxList* ServiceReply::mutable_topic_mux_list() {
  if (!has_topic_mux_list()) {
    clear_type();
    set_has_topic_mux_list();
    type_.topic_mux_list_ = CreateMaybeMessage< ::ubii::devices::TopicMuxList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.topic_mux_list)
  return type_.topic_mux_list_;
}

// .ubii.devices.TopicDemux topic_demux = 13;
inline bool ServiceReply::has_topic_demux() const {
  return type_case() == kTopicDemux;
}
inline void ServiceReply::set_has_topic_demux() {
  _oneof_case_[0] = kTopicDemux;
}
inline const ::ubii::devices::TopicDemux& ServiceReply::_internal_topic_demux() const {
  return *type_.topic_demux_;
}
inline ::ubii::devices::TopicDemux* ServiceReply::release_topic_demux() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.topic_demux)
  if (has_topic_demux()) {
    clear_has_type();
      ::ubii::devices::TopicDemux* temp = type_.topic_demux_;
    type_.topic_demux_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::devices::TopicDemux& ServiceReply::topic_demux() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.topic_demux)
  return has_topic_demux()
      ? *type_.topic_demux_
      : *reinterpret_cast< ::ubii::devices::TopicDemux*>(&::ubii::devices::_TopicDemux_default_instance_);
}
inline ::ubii::devices::TopicDemux* ServiceReply::mutable_topic_demux() {
  if (!has_topic_demux()) {
    clear_type();
    set_has_topic_demux();
    type_.topic_demux_ = CreateMaybeMessage< ::ubii::devices::TopicDemux >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.topic_demux)
  return type_.topic_demux_;
}

// .ubii.devices.TopicDemuxList topic_demux_list = 14;
inline bool ServiceReply::has_topic_demux_list() const {
  return type_case() == kTopicDemuxList;
}
inline void ServiceReply::set_has_topic_demux_list() {
  _oneof_case_[0] = kTopicDemuxList;
}
inline const ::ubii::devices::TopicDemuxList& ServiceReply::_internal_topic_demux_list() const {
  return *type_.topic_demux_list_;
}
inline ::ubii::devices::TopicDemuxList* ServiceReply::release_topic_demux_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.topic_demux_list)
  if (has_topic_demux_list()) {
    clear_has_type();
      ::ubii::devices::TopicDemuxList* temp = type_.topic_demux_list_;
    type_.topic_demux_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::devices::TopicDemuxList& ServiceReply::topic_demux_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.topic_demux_list)
  return has_topic_demux_list()
      ? *type_.topic_demux_list_
      : *reinterpret_cast< ::ubii::devices::TopicDemuxList*>(&::ubii::devices::_TopicDemuxList_default_instance_);
}
inline ::ubii::devices::TopicDemuxList* ServiceReply::mutable_topic_demux_list() {
  if (!has_topic_demux_list()) {
    clear_type();
    set_has_topic_demux_list();
    type_.topic_demux_list_ = CreateMaybeMessage< ::ubii::devices::TopicDemuxList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.topic_demux_list)
  return type_.topic_demux_list_;
}

// .ubii.clients.ClientList client_list = 15;
inline bool ServiceReply::has_client_list() const {
  return type_case() == kClientList;
}
inline void ServiceReply::set_has_client_list() {
  _oneof_case_[0] = kClientList;
}
inline const ::ubii::clients::ClientList& ServiceReply::_internal_client_list() const {
  return *type_.client_list_;
}
inline ::ubii::clients::ClientList* ServiceReply::release_client_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.client_list)
  if (has_client_list()) {
    clear_has_type();
      ::ubii::clients::ClientList* temp = type_.client_list_;
    type_.client_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::clients::ClientList& ServiceReply::client_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.client_list)
  return has_client_list()
      ? *type_.client_list_
      : *reinterpret_cast< ::ubii::clients::ClientList*>(&::ubii::clients::_ClientList_default_instance_);
}
inline ::ubii::clients::ClientList* ServiceReply::mutable_client_list() {
  if (!has_client_list()) {
    clear_type();
    set_has_client_list();
    type_.client_list_ = CreateMaybeMessage< ::ubii::clients::ClientList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.client_list)
  return type_.client_list_;
}

// .ubii.devices.DeviceList device_list = 16;
inline bool ServiceReply::has_device_list() const {
  return type_case() == kDeviceList;
}
inline void ServiceReply::set_has_device_list() {
  _oneof_case_[0] = kDeviceList;
}
inline const ::ubii::devices::DeviceList& ServiceReply::_internal_device_list() const {
  return *type_.device_list_;
}
inline ::ubii::devices::DeviceList* ServiceReply::release_device_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.device_list)
  if (has_device_list()) {
    clear_has_type();
      ::ubii::devices::DeviceList* temp = type_.device_list_;
    type_.device_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::devices::DeviceList& ServiceReply::device_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.device_list)
  return has_device_list()
      ? *type_.device_list_
      : *reinterpret_cast< ::ubii::devices::DeviceList*>(&::ubii::devices::_DeviceList_default_instance_);
}
inline ::ubii::devices::DeviceList* ServiceReply::mutable_device_list() {
  if (!has_device_list()) {
    clear_type();
    set_has_device_list();
    type_.device_list_ = CreateMaybeMessage< ::ubii::devices::DeviceList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.device_list)
  return type_.device_list_;
}

// .ubii.services.Service service = 17;
inline bool ServiceReply::has_service() const {
  return type_case() == kService;
}
inline void ServiceReply::set_has_service() {
  _oneof_case_[0] = kService;
}
inline const ::ubii::services::Service& ServiceReply::_internal_service() const {
  return *type_.service_;
}
inline ::ubii::services::Service* ServiceReply::release_service() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.service)
  if (has_service()) {
    clear_has_type();
      ::ubii::services::Service* temp = type_.service_;
    type_.service_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::services::Service& ServiceReply::service() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.service)
  return has_service()
      ? *type_.service_
      : *reinterpret_cast< ::ubii::services::Service*>(&::ubii::services::_Service_default_instance_);
}
inline ::ubii::services::Service* ServiceReply::mutable_service() {
  if (!has_service()) {
    clear_type();
    set_has_service();
    type_.service_ = CreateMaybeMessage< ::ubii::services::Service >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.service)
  return type_.service_;
}

// .ubii.services.ServiceList service_list = 18;
inline bool ServiceReply::has_service_list() const {
  return type_case() == kServiceList;
}
inline void ServiceReply::set_has_service_list() {
  _oneof_case_[0] = kServiceList;
}
inline const ::ubii::services::ServiceList& ServiceReply::_internal_service_list() const {
  return *type_.service_list_;
}
inline ::ubii::services::ServiceList* ServiceReply::release_service_list() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.service_list)
  if (has_service_list()) {
    clear_has_type();
      ::ubii::services::ServiceList* temp = type_.service_list_;
    type_.service_list_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::services::ServiceList& ServiceReply::service_list() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.service_list)
  return has_service_list()
      ? *type_.service_list_
      : *reinterpret_cast< ::ubii::services::ServiceList*>(&::ubii::services::_ServiceList_default_instance_);
}
inline ::ubii::services::ServiceList* ServiceReply::mutable_service_list() {
  if (!has_service_list()) {
    clear_type();
    set_has_service_list();
    type_.service_list_ = CreateMaybeMessage< ::ubii::services::ServiceList >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.service_list)
  return type_.service_list_;
}

// .ubii.processing.LockstepProcessingReply lockstep_processing_reply = 19;
inline bool ServiceReply::has_lockstep_processing_reply() const {
  return type_case() == kLockstepProcessingReply;
}
inline void ServiceReply::set_has_lockstep_processing_reply() {
  _oneof_case_[0] = kLockstepProcessingReply;
}
inline const ::ubii::processing::LockstepProcessingReply& ServiceReply::_internal_lockstep_processing_reply() const {
  return *type_.lockstep_processing_reply_;
}
inline ::ubii::processing::LockstepProcessingReply* ServiceReply::release_lockstep_processing_reply() {
  // @@protoc_insertion_point(field_release:ubii.services.ServiceReply.lockstep_processing_reply)
  if (has_lockstep_processing_reply()) {
    clear_has_type();
      ::ubii::processing::LockstepProcessingReply* temp = type_.lockstep_processing_reply_;
    type_.lockstep_processing_reply_ = NULL;
    return temp;
  } else {
    return NULL;
  }
}
inline const ::ubii::processing::LockstepProcessingReply& ServiceReply::lockstep_processing_reply() const {
  // @@protoc_insertion_point(field_get:ubii.services.ServiceReply.lockstep_processing_reply)
  return has_lockstep_processing_reply()
      ? *type_.lockstep_processing_reply_
      : *reinterpret_cast< ::ubii::processing::LockstepProcessingReply*>(&::ubii::processing::_LockstepProcessingReply_default_instance_);
}
inline ::ubii::processing::LockstepProcessingReply* ServiceReply::mutable_lockstep_processing_reply() {
  if (!has_lockstep_processing_reply()) {
    clear_type();
    set_has_lockstep_processing_reply();
    type_.lockstep_processing_reply_ = CreateMaybeMessage< ::ubii::processing::LockstepProcessingReply >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:ubii.services.ServiceReply.lockstep_processing_reply)
  return type_.lockstep_processing_reply_;
}

inline bool ServiceReply::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void ServiceReply::clear_has_type() {
  _oneof_case_[0] = TYPE_NOT_SET;
}
inline ServiceReply::TypeCase ServiceReply::type_case() const {
  return ServiceReply::TypeCase(_oneof_case_[0]);
}
#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)

}  // namespace services
}  // namespace ubii

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_INCLUDED_proto_2fservices_2fserviceReply_2eproto
