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

#ifndef PROTOBUF_services_2eproto__INCLUDED
#define PROTOBUF_services_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>
// @@protoc_insertion_point(includes)

namespace com {
namespace telenav {
namespace proto {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_services_2eproto();
void protobuf_AssignDesc_services_2eproto();
void protobuf_ShutdownFile_services_2eproto();

class Context;
class ApplicationContext;
class UserContext;
class TransactionContext;
class NetworkContext;
class ServiceStatus;

enum ResponseFormat {
  html = 100,
  json = 200,
  protobuf = 300,
  xml = 400
};
bool ResponseFormat_IsValid(int value);
const ResponseFormat ResponseFormat_MIN = html;
const ResponseFormat ResponseFormat_MAX = xml;
const int ResponseFormat_ARRAYSIZE = ResponseFormat_MAX + 1;

enum InternetConnectionType {
  OFFLINE = 10,
  CELLULAR = 11,
  WIFI = 12
};
bool InternetConnectionType_IsValid(int value);
const InternetConnectionType InternetConnectionType_MIN = OFFLINE;
const InternetConnectionType InternetConnectionType_MAX = WIFI;
const int InternetConnectionType_ARRAYSIZE = InternetConnectionType_MAX + 1;

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

class Context : public ::google::protobuf::MessageLite {
 public:
  Context();
  virtual ~Context();
  
  Context(const Context& from);
  
  inline Context& operator=(const Context& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const Context& default_instance();
  
  void Swap(Context* other);
  
  // implements Message ----------------------------------------------
  
  Context* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const Context& from);
  void MergeFrom(const Context& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required .com.telenav.proto.ApplicationContext application_context = 10;
  inline bool has_application_context() const;
  inline void clear_application_context();
  static const int kApplicationContextFieldNumber = 10;
  inline const ::com::telenav::proto::ApplicationContext& application_context() const;
  inline ::com::telenav::proto::ApplicationContext* mutable_application_context();
  inline ::com::telenav::proto::ApplicationContext* release_application_context();
  
  // optional .com.telenav.proto.UserContext user_context = 20;
  inline bool has_user_context() const;
  inline void clear_user_context();
  static const int kUserContextFieldNumber = 20;
  inline const ::com::telenav::proto::UserContext& user_context() const;
  inline ::com::telenav::proto::UserContext* mutable_user_context();
  inline ::com::telenav::proto::UserContext* release_user_context();
  
  // optional .com.telenav.proto.TransactionContext transaction_context = 30;
  inline bool has_transaction_context() const;
  inline void clear_transaction_context();
  static const int kTransactionContextFieldNumber = 30;
  inline const ::com::telenav::proto::TransactionContext& transaction_context() const;
  inline ::com::telenav::proto::TransactionContext* mutable_transaction_context();
  inline ::com::telenav::proto::TransactionContext* release_transaction_context();
  
  // optional .com.telenav.proto.NetworkContext network_context = 40;
  inline bool has_network_context() const;
  inline void clear_network_context();
  static const int kNetworkContextFieldNumber = 40;
  inline const ::com::telenav::proto::NetworkContext& network_context() const;
  inline ::com::telenav::proto::NetworkContext* mutable_network_context();
  inline ::com::telenav::proto::NetworkContext* release_network_context();
  
  // @@protoc_insertion_point(class_scope:com.telenav.proto.Context)
 private:
  inline void set_has_application_context();
  inline void clear_has_application_context();
  inline void set_has_user_context();
  inline void clear_has_user_context();
  inline void set_has_transaction_context();
  inline void clear_has_transaction_context();
  inline void set_has_network_context();
  inline void clear_has_network_context();
  
  ::com::telenav::proto::ApplicationContext* application_context_;
  ::com::telenav::proto::UserContext* user_context_;
  ::com::telenav::proto::TransactionContext* transaction_context_;
  ::com::telenav::proto::NetworkContext* network_context_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
  
  friend void  protobuf_AddDesc_services_2eproto();
  friend void protobuf_AssignDesc_services_2eproto();
  friend void protobuf_ShutdownFile_services_2eproto();
  
  void InitAsDefaultInstance();
  static Context* default_instance_;
};
// -------------------------------------------------------------------

class ApplicationContext : public ::google::protobuf::MessageLite {
 public:
  ApplicationContext();
  virtual ~ApplicationContext();
  
  ApplicationContext(const ApplicationContext& from);
  
  inline ApplicationContext& operator=(const ApplicationContext& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const ApplicationContext& default_instance();
  
  void Swap(ApplicationContext* other);
  
  // implements Message ----------------------------------------------
  
  ApplicationContext* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const ApplicationContext& from);
  void MergeFrom(const ApplicationContext& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required string application_id = 10;
  inline bool has_application_id() const;
  inline void clear_application_id();
  static const int kApplicationIdFieldNumber = 10;
  inline const ::std::string& application_id() const;
  inline void set_application_id(const ::std::string& value);
  inline void set_application_id(const char* value);
  inline void set_application_id(const char* value, size_t size);
  inline ::std::string* mutable_application_id();
  inline ::std::string* release_application_id();
  
  // required string application_signature = 20;
  inline bool has_application_signature() const;
  inline void clear_application_signature();
  static const int kApplicationSignatureFieldNumber = 20;
  inline const ::std::string& application_signature() const;
  inline void set_application_signature(const ::std::string& value);
  inline void set_application_signature(const char* value);
  inline void set_application_signature(const char* value, size_t size);
  inline ::std::string* mutable_application_signature();
  inline ::std::string* release_application_signature();
  
  // required string application_name = 30;
  inline bool has_application_name() const;
  inline void clear_application_name();
  static const int kApplicationNameFieldNumber = 30;
  inline const ::std::string& application_name() const;
  inline void set_application_name(const ::std::string& value);
  inline void set_application_name(const char* value);
  inline void set_application_name(const char* value, size_t size);
  inline ::std::string* mutable_application_name();
  inline ::std::string* release_application_name();
  
  // @@protoc_insertion_point(class_scope:com.telenav.proto.ApplicationContext)
 private:
  inline void set_has_application_id();
  inline void clear_has_application_id();
  inline void set_has_application_signature();
  inline void clear_has_application_signature();
  inline void set_has_application_name();
  inline void clear_has_application_name();
  
  ::std::string* application_id_;
  ::std::string* application_signature_;
  ::std::string* application_name_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
  
  friend void  protobuf_AddDesc_services_2eproto();
  friend void protobuf_AssignDesc_services_2eproto();
  friend void protobuf_ShutdownFile_services_2eproto();
  
  void InitAsDefaultInstance();
  static ApplicationContext* default_instance_;
};
// -------------------------------------------------------------------

class UserContext : public ::google::protobuf::MessageLite {
 public:
  UserContext();
  virtual ~UserContext();
  
  UserContext(const UserContext& from);
  
  inline UserContext& operator=(const UserContext& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const UserContext& default_instance();
  
  void Swap(UserContext* other);
  
  // implements Message ----------------------------------------------
  
  UserContext* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const UserContext& from);
  void MergeFrom(const UserContext& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required string secure_token = 10;
  inline bool has_secure_token() const;
  inline void clear_secure_token();
  static const int kSecureTokenFieldNumber = 10;
  inline const ::std::string& secure_token() const;
  inline void set_secure_token(const ::std::string& value);
  inline void set_secure_token(const char* value);
  inline void set_secure_token(const char* value, size_t size);
  inline ::std::string* mutable_secure_token();
  inline ::std::string* release_secure_token();
  
  // optional string user_id = 20;
  inline bool has_user_id() const;
  inline void clear_user_id();
  static const int kUserIdFieldNumber = 20;
  inline const ::std::string& user_id() const;
  inline void set_user_id(const ::std::string& value);
  inline void set_user_id(const char* value);
  inline void set_user_id(const char* value, size_t size);
  inline ::std::string* mutable_user_id();
  inline ::std::string* release_user_id();
  
  // @@protoc_insertion_point(class_scope:com.telenav.proto.UserContext)
 private:
  inline void set_has_secure_token();
  inline void clear_has_secure_token();
  inline void set_has_user_id();
  inline void clear_has_user_id();
  
  ::std::string* secure_token_;
  ::std::string* user_id_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
  
  friend void  protobuf_AddDesc_services_2eproto();
  friend void protobuf_AssignDesc_services_2eproto();
  friend void protobuf_ShutdownFile_services_2eproto();
  
  void InitAsDefaultInstance();
  static UserContext* default_instance_;
};
// -------------------------------------------------------------------

class TransactionContext : public ::google::protobuf::MessageLite {
 public:
  TransactionContext();
  virtual ~TransactionContext();
  
  TransactionContext(const TransactionContext& from);
  
  inline TransactionContext& operator=(const TransactionContext& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TransactionContext& default_instance();
  
  void Swap(TransactionContext* other);
  
  // implements Message ----------------------------------------------
  
  TransactionContext* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TransactionContext& from);
  void MergeFrom(const TransactionContext& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required string transaction_id = 10;
  inline bool has_transaction_id() const;
  inline void clear_transaction_id();
  static const int kTransactionIdFieldNumber = 10;
  inline const ::std::string& transaction_id() const;
  inline void set_transaction_id(const ::std::string& value);
  inline void set_transaction_id(const char* value);
  inline void set_transaction_id(const char* value, size_t size);
  inline ::std::string* mutable_transaction_id();
  inline ::std::string* release_transaction_id();
  
  // required string transaction_name = 20;
  inline bool has_transaction_name() const;
  inline void clear_transaction_name();
  static const int kTransactionNameFieldNumber = 20;
  inline const ::std::string& transaction_name() const;
  inline void set_transaction_name(const ::std::string& value);
  inline void set_transaction_name(const char* value);
  inline void set_transaction_name(const char* value, size_t size);
  inline ::std::string* mutable_transaction_name();
  inline ::std::string* release_transaction_name();
  
  // required uint64 transaction_timestamp = 30;
  inline bool has_transaction_timestamp() const;
  inline void clear_transaction_timestamp();
  static const int kTransactionTimestampFieldNumber = 30;
  inline ::google::protobuf::uint64 transaction_timestamp() const;
  inline void set_transaction_timestamp(::google::protobuf::uint64 value);
  
  // @@protoc_insertion_point(class_scope:com.telenav.proto.TransactionContext)
 private:
  inline void set_has_transaction_id();
  inline void clear_has_transaction_id();
  inline void set_has_transaction_name();
  inline void clear_has_transaction_name();
  inline void set_has_transaction_timestamp();
  inline void clear_has_transaction_timestamp();
  
  ::std::string* transaction_id_;
  ::std::string* transaction_name_;
  ::google::protobuf::uint64 transaction_timestamp_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
  
  friend void  protobuf_AddDesc_services_2eproto();
  friend void protobuf_AssignDesc_services_2eproto();
  friend void protobuf_ShutdownFile_services_2eproto();
  
  void InitAsDefaultInstance();
  static TransactionContext* default_instance_;
};
// -------------------------------------------------------------------

class NetworkContext : public ::google::protobuf::MessageLite {
 public:
  NetworkContext();
  virtual ~NetworkContext();
  
  NetworkContext(const NetworkContext& from);
  
  inline NetworkContext& operator=(const NetworkContext& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const NetworkContext& default_instance();
  
  void Swap(NetworkContext* other);
  
  // implements Message ----------------------------------------------
  
  NetworkContext* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const NetworkContext& from);
  void MergeFrom(const NetworkContext& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required .com.telenav.proto.InternetConnectionType connection_type = 10;
  inline bool has_connection_type() const;
  inline void clear_connection_type();
  static const int kConnectionTypeFieldNumber = 10;
  inline com::telenav::proto::InternetConnectionType connection_type() const;
  inline void set_connection_type(com::telenav::proto::InternetConnectionType value);
  
  // optional string mobile_carrier = 20;
  inline bool has_mobile_carrier() const;
  inline void clear_mobile_carrier();
  static const int kMobileCarrierFieldNumber = 20;
  inline const ::std::string& mobile_carrier() const;
  inline void set_mobile_carrier(const ::std::string& value);
  inline void set_mobile_carrier(const char* value);
  inline void set_mobile_carrier(const char* value, size_t size);
  inline ::std::string* mutable_mobile_carrier();
  inline ::std::string* release_mobile_carrier();
  
  // optional string bandwidth = 30;
  inline bool has_bandwidth() const;
  inline void clear_bandwidth();
  static const int kBandwidthFieldNumber = 30;
  inline const ::std::string& bandwidth() const;
  inline void set_bandwidth(const ::std::string& value);
  inline void set_bandwidth(const char* value);
  inline void set_bandwidth(const char* value, size_t size);
  inline ::std::string* mutable_bandwidth();
  inline ::std::string* release_bandwidth();
  
  // optional string ip = 40;
  inline bool has_ip() const;
  inline void clear_ip();
  static const int kIpFieldNumber = 40;
  inline const ::std::string& ip() const;
  inline void set_ip(const ::std::string& value);
  inline void set_ip(const char* value);
  inline void set_ip(const char* value, size_t size);
  inline ::std::string* mutable_ip();
  inline ::std::string* release_ip();
  
  // @@protoc_insertion_point(class_scope:com.telenav.proto.NetworkContext)
 private:
  inline void set_has_connection_type();
  inline void clear_has_connection_type();
  inline void set_has_mobile_carrier();
  inline void clear_has_mobile_carrier();
  inline void set_has_bandwidth();
  inline void clear_has_bandwidth();
  inline void set_has_ip();
  inline void clear_has_ip();
  
  ::std::string* mobile_carrier_;
  ::std::string* bandwidth_;
  ::std::string* ip_;
  int connection_type_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32];
  
  friend void  protobuf_AddDesc_services_2eproto();
  friend void protobuf_AssignDesc_services_2eproto();
  friend void protobuf_ShutdownFile_services_2eproto();
  
  void InitAsDefaultInstance();
  static NetworkContext* default_instance_;
};
// -------------------------------------------------------------------

class ServiceStatus : public ::google::protobuf::MessageLite {
 public:
  ServiceStatus();
  virtual ~ServiceStatus();
  
  ServiceStatus(const ServiceStatus& from);
  
  inline ServiceStatus& operator=(const ServiceStatus& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const ServiceStatus& default_instance();
  
  void Swap(ServiceStatus* other);
  
  // implements Message ----------------------------------------------
  
  ServiceStatus* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const ServiceStatus& from);
  void MergeFrom(const ServiceStatus& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // required int32 status = 10;
  inline bool has_status() const;
  inline void clear_status();
  static const int kStatusFieldNumber = 10;
  inline ::google::protobuf::int32 status() const;
  inline void set_status(::google::protobuf::int32 value);
  
  // optional string message = 20;
  inline bool has_message() const;
  inline void clear_message();
  static const int kMessageFieldNumber = 20;
  inline const ::std::string& message() const;
  inline void set_message(const ::std::string& value);
  inline void set_message(const char* value);
  inline void set_message(const char* value, size_t size);
  inline ::std::string* mutable_message();
  inline ::std::string* release_message();
  
  // optional string info_link = 30;
  inline bool has_info_link() const;
  inline void clear_info_link();
  static const int kInfoLinkFieldNumber = 30;
  inline const ::std::string& info_link() const;
  inline void set_info_link(const ::std::string& value);
  inline void set_info_link(const char* value);
  inline void set_info_link(const char* value, size_t size);
  inline ::std::string* mutable_info_link();
  inline ::std::string* release_info_link();
  
  // @@protoc_insertion_point(class_scope:com.telenav.proto.ServiceStatus)
 private:
  inline void set_has_status();
  inline void clear_has_status();
  inline void set_has_message();
  inline void clear_has_message();
  inline void set_has_info_link();
  inline void clear_has_info_link();
  
  ::std::string* message_;
  ::std::string* info_link_;
  ::google::protobuf::int32 status_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
  
  friend void  protobuf_AddDesc_services_2eproto();
  friend void protobuf_AssignDesc_services_2eproto();
  friend void protobuf_ShutdownFile_services_2eproto();
  
  void InitAsDefaultInstance();
  static ServiceStatus* default_instance_;
};
// ===================================================================


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

// Context

// required .com.telenav.proto.ApplicationContext application_context = 10;
inline bool Context::has_application_context() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Context::set_has_application_context() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Context::clear_has_application_context() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Context::clear_application_context() {
  if (application_context_ != NULL) application_context_->::com::telenav::proto::ApplicationContext::Clear();
  clear_has_application_context();
}
inline const ::com::telenav::proto::ApplicationContext& Context::application_context() const {
  return application_context_ != NULL ? *application_context_ : *default_instance_->application_context_;
}
inline ::com::telenav::proto::ApplicationContext* Context::mutable_application_context() {
  set_has_application_context();
  if (application_context_ == NULL) application_context_ = new ::com::telenav::proto::ApplicationContext;
  return application_context_;
}
inline ::com::telenav::proto::ApplicationContext* Context::release_application_context() {
  clear_has_application_context();
  ::com::telenav::proto::ApplicationContext* temp = application_context_;
  application_context_ = NULL;
  return temp;
}

// optional .com.telenav.proto.UserContext user_context = 20;
inline bool Context::has_user_context() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Context::set_has_user_context() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Context::clear_has_user_context() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Context::clear_user_context() {
  if (user_context_ != NULL) user_context_->::com::telenav::proto::UserContext::Clear();
  clear_has_user_context();
}
inline const ::com::telenav::proto::UserContext& Context::user_context() const {
  return user_context_ != NULL ? *user_context_ : *default_instance_->user_context_;
}
inline ::com::telenav::proto::UserContext* Context::mutable_user_context() {
  set_has_user_context();
  if (user_context_ == NULL) user_context_ = new ::com::telenav::proto::UserContext;
  return user_context_;
}
inline ::com::telenav::proto::UserContext* Context::release_user_context() {
  clear_has_user_context();
  ::com::telenav::proto::UserContext* temp = user_context_;
  user_context_ = NULL;
  return temp;
}

// optional .com.telenav.proto.TransactionContext transaction_context = 30;
inline bool Context::has_transaction_context() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Context::set_has_transaction_context() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Context::clear_has_transaction_context() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Context::clear_transaction_context() {
  if (transaction_context_ != NULL) transaction_context_->::com::telenav::proto::TransactionContext::Clear();
  clear_has_transaction_context();
}
inline const ::com::telenav::proto::TransactionContext& Context::transaction_context() const {
  return transaction_context_ != NULL ? *transaction_context_ : *default_instance_->transaction_context_;
}
inline ::com::telenav::proto::TransactionContext* Context::mutable_transaction_context() {
  set_has_transaction_context();
  if (transaction_context_ == NULL) transaction_context_ = new ::com::telenav::proto::TransactionContext;
  return transaction_context_;
}
inline ::com::telenav::proto::TransactionContext* Context::release_transaction_context() {
  clear_has_transaction_context();
  ::com::telenav::proto::TransactionContext* temp = transaction_context_;
  transaction_context_ = NULL;
  return temp;
}

// optional .com.telenav.proto.NetworkContext network_context = 40;
inline bool Context::has_network_context() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Context::set_has_network_context() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Context::clear_has_network_context() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Context::clear_network_context() {
  if (network_context_ != NULL) network_context_->::com::telenav::proto::NetworkContext::Clear();
  clear_has_network_context();
}
inline const ::com::telenav::proto::NetworkContext& Context::network_context() const {
  return network_context_ != NULL ? *network_context_ : *default_instance_->network_context_;
}
inline ::com::telenav::proto::NetworkContext* Context::mutable_network_context() {
  set_has_network_context();
  if (network_context_ == NULL) network_context_ = new ::com::telenav::proto::NetworkContext;
  return network_context_;
}
inline ::com::telenav::proto::NetworkContext* Context::release_network_context() {
  clear_has_network_context();
  ::com::telenav::proto::NetworkContext* temp = network_context_;
  network_context_ = NULL;
  return temp;
}

// -------------------------------------------------------------------

// ApplicationContext

// required string application_id = 10;
inline bool ApplicationContext::has_application_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ApplicationContext::set_has_application_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ApplicationContext::clear_has_application_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ApplicationContext::clear_application_id() {
  if (application_id_ != &::google::protobuf::internal::kEmptyString) {
    application_id_->clear();
  }
  clear_has_application_id();
}
inline const ::std::string& ApplicationContext::application_id() const {
  return *application_id_;
}
inline void ApplicationContext::set_application_id(const ::std::string& value) {
  set_has_application_id();
  if (application_id_ == &::google::protobuf::internal::kEmptyString) {
    application_id_ = new ::std::string;
  }
  application_id_->assign(value);
}
inline void ApplicationContext::set_application_id(const char* value) {
  set_has_application_id();
  if (application_id_ == &::google::protobuf::internal::kEmptyString) {
    application_id_ = new ::std::string;
  }
  application_id_->assign(value);
}
inline void ApplicationContext::set_application_id(const char* value, size_t size) {
  set_has_application_id();
  if (application_id_ == &::google::protobuf::internal::kEmptyString) {
    application_id_ = new ::std::string;
  }
  application_id_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* ApplicationContext::mutable_application_id() {
  set_has_application_id();
  if (application_id_ == &::google::protobuf::internal::kEmptyString) {
    application_id_ = new ::std::string;
  }
  return application_id_;
}
inline ::std::string* ApplicationContext::release_application_id() {
  clear_has_application_id();
  if (application_id_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = application_id_;
    application_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// required string application_signature = 20;
inline bool ApplicationContext::has_application_signature() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ApplicationContext::set_has_application_signature() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ApplicationContext::clear_has_application_signature() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ApplicationContext::clear_application_signature() {
  if (application_signature_ != &::google::protobuf::internal::kEmptyString) {
    application_signature_->clear();
  }
  clear_has_application_signature();
}
inline const ::std::string& ApplicationContext::application_signature() const {
  return *application_signature_;
}
inline void ApplicationContext::set_application_signature(const ::std::string& value) {
  set_has_application_signature();
  if (application_signature_ == &::google::protobuf::internal::kEmptyString) {
    application_signature_ = new ::std::string;
  }
  application_signature_->assign(value);
}
inline void ApplicationContext::set_application_signature(const char* value) {
  set_has_application_signature();
  if (application_signature_ == &::google::protobuf::internal::kEmptyString) {
    application_signature_ = new ::std::string;
  }
  application_signature_->assign(value);
}
inline void ApplicationContext::set_application_signature(const char* value, size_t size) {
  set_has_application_signature();
  if (application_signature_ == &::google::protobuf::internal::kEmptyString) {
    application_signature_ = new ::std::string;
  }
  application_signature_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* ApplicationContext::mutable_application_signature() {
  set_has_application_signature();
  if (application_signature_ == &::google::protobuf::internal::kEmptyString) {
    application_signature_ = new ::std::string;
  }
  return application_signature_;
}
inline ::std::string* ApplicationContext::release_application_signature() {
  clear_has_application_signature();
  if (application_signature_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = application_signature_;
    application_signature_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// required string application_name = 30;
inline bool ApplicationContext::has_application_name() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ApplicationContext::set_has_application_name() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ApplicationContext::clear_has_application_name() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ApplicationContext::clear_application_name() {
  if (application_name_ != &::google::protobuf::internal::kEmptyString) {
    application_name_->clear();
  }
  clear_has_application_name();
}
inline const ::std::string& ApplicationContext::application_name() const {
  return *application_name_;
}
inline void ApplicationContext::set_application_name(const ::std::string& value) {
  set_has_application_name();
  if (application_name_ == &::google::protobuf::internal::kEmptyString) {
    application_name_ = new ::std::string;
  }
  application_name_->assign(value);
}
inline void ApplicationContext::set_application_name(const char* value) {
  set_has_application_name();
  if (application_name_ == &::google::protobuf::internal::kEmptyString) {
    application_name_ = new ::std::string;
  }
  application_name_->assign(value);
}
inline void ApplicationContext::set_application_name(const char* value, size_t size) {
  set_has_application_name();
  if (application_name_ == &::google::protobuf::internal::kEmptyString) {
    application_name_ = new ::std::string;
  }
  application_name_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* ApplicationContext::mutable_application_name() {
  set_has_application_name();
  if (application_name_ == &::google::protobuf::internal::kEmptyString) {
    application_name_ = new ::std::string;
  }
  return application_name_;
}
inline ::std::string* ApplicationContext::release_application_name() {
  clear_has_application_name();
  if (application_name_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = application_name_;
    application_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// -------------------------------------------------------------------

// UserContext

// required string secure_token = 10;
inline bool UserContext::has_secure_token() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void UserContext::set_has_secure_token() {
  _has_bits_[0] |= 0x00000001u;
}
inline void UserContext::clear_has_secure_token() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void UserContext::clear_secure_token() {
  if (secure_token_ != &::google::protobuf::internal::kEmptyString) {
    secure_token_->clear();
  }
  clear_has_secure_token();
}
inline const ::std::string& UserContext::secure_token() const {
  return *secure_token_;
}
inline void UserContext::set_secure_token(const ::std::string& value) {
  set_has_secure_token();
  if (secure_token_ == &::google::protobuf::internal::kEmptyString) {
    secure_token_ = new ::std::string;
  }
  secure_token_->assign(value);
}
inline void UserContext::set_secure_token(const char* value) {
  set_has_secure_token();
  if (secure_token_ == &::google::protobuf::internal::kEmptyString) {
    secure_token_ = new ::std::string;
  }
  secure_token_->assign(value);
}
inline void UserContext::set_secure_token(const char* value, size_t size) {
  set_has_secure_token();
  if (secure_token_ == &::google::protobuf::internal::kEmptyString) {
    secure_token_ = new ::std::string;
  }
  secure_token_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* UserContext::mutable_secure_token() {
  set_has_secure_token();
  if (secure_token_ == &::google::protobuf::internal::kEmptyString) {
    secure_token_ = new ::std::string;
  }
  return secure_token_;
}
inline ::std::string* UserContext::release_secure_token() {
  clear_has_secure_token();
  if (secure_token_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = secure_token_;
    secure_token_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional string user_id = 20;
inline bool UserContext::has_user_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void UserContext::set_has_user_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void UserContext::clear_has_user_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void UserContext::clear_user_id() {
  if (user_id_ != &::google::protobuf::internal::kEmptyString) {
    user_id_->clear();
  }
  clear_has_user_id();
}
inline const ::std::string& UserContext::user_id() const {
  return *user_id_;
}
inline void UserContext::set_user_id(const ::std::string& value) {
  set_has_user_id();
  if (user_id_ == &::google::protobuf::internal::kEmptyString) {
    user_id_ = new ::std::string;
  }
  user_id_->assign(value);
}
inline void UserContext::set_user_id(const char* value) {
  set_has_user_id();
  if (user_id_ == &::google::protobuf::internal::kEmptyString) {
    user_id_ = new ::std::string;
  }
  user_id_->assign(value);
}
inline void UserContext::set_user_id(const char* value, size_t size) {
  set_has_user_id();
  if (user_id_ == &::google::protobuf::internal::kEmptyString) {
    user_id_ = new ::std::string;
  }
  user_id_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* UserContext::mutable_user_id() {
  set_has_user_id();
  if (user_id_ == &::google::protobuf::internal::kEmptyString) {
    user_id_ = new ::std::string;
  }
  return user_id_;
}
inline ::std::string* UserContext::release_user_id() {
  clear_has_user_id();
  if (user_id_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = user_id_;
    user_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// -------------------------------------------------------------------

// TransactionContext

// required string transaction_id = 10;
inline bool TransactionContext::has_transaction_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TransactionContext::set_has_transaction_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TransactionContext::clear_has_transaction_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TransactionContext::clear_transaction_id() {
  if (transaction_id_ != &::google::protobuf::internal::kEmptyString) {
    transaction_id_->clear();
  }
  clear_has_transaction_id();
}
inline const ::std::string& TransactionContext::transaction_id() const {
  return *transaction_id_;
}
inline void TransactionContext::set_transaction_id(const ::std::string& value) {
  set_has_transaction_id();
  if (transaction_id_ == &::google::protobuf::internal::kEmptyString) {
    transaction_id_ = new ::std::string;
  }
  transaction_id_->assign(value);
}
inline void TransactionContext::set_transaction_id(const char* value) {
  set_has_transaction_id();
  if (transaction_id_ == &::google::protobuf::internal::kEmptyString) {
    transaction_id_ = new ::std::string;
  }
  transaction_id_->assign(value);
}
inline void TransactionContext::set_transaction_id(const char* value, size_t size) {
  set_has_transaction_id();
  if (transaction_id_ == &::google::protobuf::internal::kEmptyString) {
    transaction_id_ = new ::std::string;
  }
  transaction_id_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TransactionContext::mutable_transaction_id() {
  set_has_transaction_id();
  if (transaction_id_ == &::google::protobuf::internal::kEmptyString) {
    transaction_id_ = new ::std::string;
  }
  return transaction_id_;
}
inline ::std::string* TransactionContext::release_transaction_id() {
  clear_has_transaction_id();
  if (transaction_id_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = transaction_id_;
    transaction_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// required string transaction_name = 20;
inline bool TransactionContext::has_transaction_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TransactionContext::set_has_transaction_name() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TransactionContext::clear_has_transaction_name() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TransactionContext::clear_transaction_name() {
  if (transaction_name_ != &::google::protobuf::internal::kEmptyString) {
    transaction_name_->clear();
  }
  clear_has_transaction_name();
}
inline const ::std::string& TransactionContext::transaction_name() const {
  return *transaction_name_;
}
inline void TransactionContext::set_transaction_name(const ::std::string& value) {
  set_has_transaction_name();
  if (transaction_name_ == &::google::protobuf::internal::kEmptyString) {
    transaction_name_ = new ::std::string;
  }
  transaction_name_->assign(value);
}
inline void TransactionContext::set_transaction_name(const char* value) {
  set_has_transaction_name();
  if (transaction_name_ == &::google::protobuf::internal::kEmptyString) {
    transaction_name_ = new ::std::string;
  }
  transaction_name_->assign(value);
}
inline void TransactionContext::set_transaction_name(const char* value, size_t size) {
  set_has_transaction_name();
  if (transaction_name_ == &::google::protobuf::internal::kEmptyString) {
    transaction_name_ = new ::std::string;
  }
  transaction_name_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TransactionContext::mutable_transaction_name() {
  set_has_transaction_name();
  if (transaction_name_ == &::google::protobuf::internal::kEmptyString) {
    transaction_name_ = new ::std::string;
  }
  return transaction_name_;
}
inline ::std::string* TransactionContext::release_transaction_name() {
  clear_has_transaction_name();
  if (transaction_name_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = transaction_name_;
    transaction_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// required uint64 transaction_timestamp = 30;
inline bool TransactionContext::has_transaction_timestamp() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void TransactionContext::set_has_transaction_timestamp() {
  _has_bits_[0] |= 0x00000004u;
}
inline void TransactionContext::clear_has_transaction_timestamp() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void TransactionContext::clear_transaction_timestamp() {
  transaction_timestamp_ = GOOGLE_ULONGLONG(0);
  clear_has_transaction_timestamp();
}
inline ::google::protobuf::uint64 TransactionContext::transaction_timestamp() const {
  return transaction_timestamp_;
}
inline void TransactionContext::set_transaction_timestamp(::google::protobuf::uint64 value) {
  set_has_transaction_timestamp();
  transaction_timestamp_ = value;
}

// -------------------------------------------------------------------

// NetworkContext

// required .com.telenav.proto.InternetConnectionType connection_type = 10;
inline bool NetworkContext::has_connection_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void NetworkContext::set_has_connection_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void NetworkContext::clear_has_connection_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void NetworkContext::clear_connection_type() {
  connection_type_ = 10;
  clear_has_connection_type();
}
inline com::telenav::proto::InternetConnectionType NetworkContext::connection_type() const {
  return static_cast< com::telenav::proto::InternetConnectionType >(connection_type_);
}
inline void NetworkContext::set_connection_type(com::telenav::proto::InternetConnectionType value) {
  GOOGLE_DCHECK(com::telenav::proto::InternetConnectionType_IsValid(value));
  set_has_connection_type();
  connection_type_ = value;
}

// optional string mobile_carrier = 20;
inline bool NetworkContext::has_mobile_carrier() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void NetworkContext::set_has_mobile_carrier() {
  _has_bits_[0] |= 0x00000002u;
}
inline void NetworkContext::clear_has_mobile_carrier() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void NetworkContext::clear_mobile_carrier() {
  if (mobile_carrier_ != &::google::protobuf::internal::kEmptyString) {
    mobile_carrier_->clear();
  }
  clear_has_mobile_carrier();
}
inline const ::std::string& NetworkContext::mobile_carrier() const {
  return *mobile_carrier_;
}
inline void NetworkContext::set_mobile_carrier(const ::std::string& value) {
  set_has_mobile_carrier();
  if (mobile_carrier_ == &::google::protobuf::internal::kEmptyString) {
    mobile_carrier_ = new ::std::string;
  }
  mobile_carrier_->assign(value);
}
inline void NetworkContext::set_mobile_carrier(const char* value) {
  set_has_mobile_carrier();
  if (mobile_carrier_ == &::google::protobuf::internal::kEmptyString) {
    mobile_carrier_ = new ::std::string;
  }
  mobile_carrier_->assign(value);
}
inline void NetworkContext::set_mobile_carrier(const char* value, size_t size) {
  set_has_mobile_carrier();
  if (mobile_carrier_ == &::google::protobuf::internal::kEmptyString) {
    mobile_carrier_ = new ::std::string;
  }
  mobile_carrier_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* NetworkContext::mutable_mobile_carrier() {
  set_has_mobile_carrier();
  if (mobile_carrier_ == &::google::protobuf::internal::kEmptyString) {
    mobile_carrier_ = new ::std::string;
  }
  return mobile_carrier_;
}
inline ::std::string* NetworkContext::release_mobile_carrier() {
  clear_has_mobile_carrier();
  if (mobile_carrier_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = mobile_carrier_;
    mobile_carrier_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional string bandwidth = 30;
inline bool NetworkContext::has_bandwidth() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void NetworkContext::set_has_bandwidth() {
  _has_bits_[0] |= 0x00000004u;
}
inline void NetworkContext::clear_has_bandwidth() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void NetworkContext::clear_bandwidth() {
  if (bandwidth_ != &::google::protobuf::internal::kEmptyString) {
    bandwidth_->clear();
  }
  clear_has_bandwidth();
}
inline const ::std::string& NetworkContext::bandwidth() const {
  return *bandwidth_;
}
inline void NetworkContext::set_bandwidth(const ::std::string& value) {
  set_has_bandwidth();
  if (bandwidth_ == &::google::protobuf::internal::kEmptyString) {
    bandwidth_ = new ::std::string;
  }
  bandwidth_->assign(value);
}
inline void NetworkContext::set_bandwidth(const char* value) {
  set_has_bandwidth();
  if (bandwidth_ == &::google::protobuf::internal::kEmptyString) {
    bandwidth_ = new ::std::string;
  }
  bandwidth_->assign(value);
}
inline void NetworkContext::set_bandwidth(const char* value, size_t size) {
  set_has_bandwidth();
  if (bandwidth_ == &::google::protobuf::internal::kEmptyString) {
    bandwidth_ = new ::std::string;
  }
  bandwidth_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* NetworkContext::mutable_bandwidth() {
  set_has_bandwidth();
  if (bandwidth_ == &::google::protobuf::internal::kEmptyString) {
    bandwidth_ = new ::std::string;
  }
  return bandwidth_;
}
inline ::std::string* NetworkContext::release_bandwidth() {
  clear_has_bandwidth();
  if (bandwidth_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = bandwidth_;
    bandwidth_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional string ip = 40;
inline bool NetworkContext::has_ip() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void NetworkContext::set_has_ip() {
  _has_bits_[0] |= 0x00000008u;
}
inline void NetworkContext::clear_has_ip() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void NetworkContext::clear_ip() {
  if (ip_ != &::google::protobuf::internal::kEmptyString) {
    ip_->clear();
  }
  clear_has_ip();
}
inline const ::std::string& NetworkContext::ip() const {
  return *ip_;
}
inline void NetworkContext::set_ip(const ::std::string& value) {
  set_has_ip();
  if (ip_ == &::google::protobuf::internal::kEmptyString) {
    ip_ = new ::std::string;
  }
  ip_->assign(value);
}
inline void NetworkContext::set_ip(const char* value) {
  set_has_ip();
  if (ip_ == &::google::protobuf::internal::kEmptyString) {
    ip_ = new ::std::string;
  }
  ip_->assign(value);
}
inline void NetworkContext::set_ip(const char* value, size_t size) {
  set_has_ip();
  if (ip_ == &::google::protobuf::internal::kEmptyString) {
    ip_ = new ::std::string;
  }
  ip_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* NetworkContext::mutable_ip() {
  set_has_ip();
  if (ip_ == &::google::protobuf::internal::kEmptyString) {
    ip_ = new ::std::string;
  }
  return ip_;
}
inline ::std::string* NetworkContext::release_ip() {
  clear_has_ip();
  if (ip_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = ip_;
    ip_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// -------------------------------------------------------------------

// ServiceStatus

// required int32 status = 10;
inline bool ServiceStatus::has_status() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ServiceStatus::set_has_status() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ServiceStatus::clear_has_status() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ServiceStatus::clear_status() {
  status_ = 0;
  clear_has_status();
}
inline ::google::protobuf::int32 ServiceStatus::status() const {
  return status_;
}
inline void ServiceStatus::set_status(::google::protobuf::int32 value) {
  set_has_status();
  status_ = value;
}

// optional string message = 20;
inline bool ServiceStatus::has_message() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ServiceStatus::set_has_message() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ServiceStatus::clear_has_message() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ServiceStatus::clear_message() {
  if (message_ != &::google::protobuf::internal::kEmptyString) {
    message_->clear();
  }
  clear_has_message();
}
inline const ::std::string& ServiceStatus::message() const {
  return *message_;
}
inline void ServiceStatus::set_message(const ::std::string& value) {
  set_has_message();
  if (message_ == &::google::protobuf::internal::kEmptyString) {
    message_ = new ::std::string;
  }
  message_->assign(value);
}
inline void ServiceStatus::set_message(const char* value) {
  set_has_message();
  if (message_ == &::google::protobuf::internal::kEmptyString) {
    message_ = new ::std::string;
  }
  message_->assign(value);
}
inline void ServiceStatus::set_message(const char* value, size_t size) {
  set_has_message();
  if (message_ == &::google::protobuf::internal::kEmptyString) {
    message_ = new ::std::string;
  }
  message_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* ServiceStatus::mutable_message() {
  set_has_message();
  if (message_ == &::google::protobuf::internal::kEmptyString) {
    message_ = new ::std::string;
  }
  return message_;
}
inline ::std::string* ServiceStatus::release_message() {
  clear_has_message();
  if (message_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = message_;
    message_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional string info_link = 30;
inline bool ServiceStatus::has_info_link() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ServiceStatus::set_has_info_link() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ServiceStatus::clear_has_info_link() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ServiceStatus::clear_info_link() {
  if (info_link_ != &::google::protobuf::internal::kEmptyString) {
    info_link_->clear();
  }
  clear_has_info_link();
}
inline const ::std::string& ServiceStatus::info_link() const {
  return *info_link_;
}
inline void ServiceStatus::set_info_link(const ::std::string& value) {
  set_has_info_link();
  if (info_link_ == &::google::protobuf::internal::kEmptyString) {
    info_link_ = new ::std::string;
  }
  info_link_->assign(value);
}
inline void ServiceStatus::set_info_link(const char* value) {
  set_has_info_link();
  if (info_link_ == &::google::protobuf::internal::kEmptyString) {
    info_link_ = new ::std::string;
  }
  info_link_->assign(value);
}
inline void ServiceStatus::set_info_link(const char* value, size_t size) {
  set_has_info_link();
  if (info_link_ == &::google::protobuf::internal::kEmptyString) {
    info_link_ = new ::std::string;
  }
  info_link_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* ServiceStatus::mutable_info_link() {
  set_has_info_link();
  if (info_link_ == &::google::protobuf::internal::kEmptyString) {
    info_link_ = new ::std::string;
  }
  return info_link_;
}
inline ::std::string* ServiceStatus::release_info_link() {
  clear_has_info_link();
  if (info_link_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = info_link_;
    info_link_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace proto
}  // namespace telenav
}  // namespace com

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_services_2eproto__INCLUDED
