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

#ifndef PROTOBUF_image_2eproto__INCLUDED
#define PROTOBUF_image_2eproto__INCLUDED

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 2006000
#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 2006001 < 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/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)

namespace opencctv {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_image_2eproto();
void protobuf_AssignDesc_image_2eproto();
void protobuf_ShutdownFile_image_2eproto();

class image;

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

class image : public ::google::protobuf::Message {
 public:
  image();
  virtual ~image();

  image(const image& from);

  inline image& operator=(const image& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const image& default_instance();

  void Swap(image* other);

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

  image* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const image& from);
  void MergeFrom(const image& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // repeated uint32 image_data = 1;
  inline int image_data_size() const;
  inline void clear_image_data();
  static const int kImageDataFieldNumber = 1;
  inline ::google::protobuf::uint32 image_data(int index) const;
  inline void set_image_data(int index, ::google::protobuf::uint32 value);
  inline void add_image_data(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      image_data() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_image_data();

  // required uint32 width = 2;
  inline bool has_width() const;
  inline void clear_width();
  static const int kWidthFieldNumber = 2;
  inline ::google::protobuf::uint32 width() const;
  inline void set_width(::google::protobuf::uint32 value);

  // required uint32 height = 3;
  inline bool has_height() const;
  inline void clear_height();
  static const int kHeightFieldNumber = 3;
  inline ::google::protobuf::uint32 height() const;
  inline void set_height(::google::protobuf::uint32 value);

  // optional uint32 stream_id = 4;
  inline bool has_stream_id() const;
  inline void clear_stream_id();
  static const int kStreamIdFieldNumber = 4;
  inline ::google::protobuf::uint32 stream_id() const;
  inline void set_stream_id(::google::protobuf::uint32 value);

  // optional string input_name = 5;
  inline bool has_input_name() const;
  inline void clear_input_name();
  static const int kInputNameFieldNumber = 5;
  inline const ::std::string& input_name() const;
  inline void set_input_name(const ::std::string& value);
  inline void set_input_name(const char* value);
  inline void set_input_name(const char* value, size_t size);
  inline ::std::string* mutable_input_name();
  inline ::std::string* release_input_name();
  inline void set_allocated_input_name(::std::string* input_name);

  // required string timestamp = 6;
  inline bool has_timestamp() const;
  inline void clear_timestamp();
  static const int kTimestampFieldNumber = 6;
  inline const ::std::string& timestamp() const;
  inline void set_timestamp(const ::std::string& value);
  inline void set_timestamp(const char* value);
  inline void set_timestamp(const char* value, size_t size);
  inline ::std::string* mutable_timestamp();
  inline ::std::string* release_timestamp();
  inline void set_allocated_timestamp(::std::string* timestamp);

  // @@protoc_insertion_point(class_scope:opencctv.image)
 private:
  inline void set_has_width();
  inline void clear_has_width();
  inline void set_has_height();
  inline void clear_has_height();
  inline void set_has_stream_id();
  inline void clear_has_stream_id();
  inline void set_has_input_name();
  inline void clear_has_input_name();
  inline void set_has_timestamp();
  inline void clear_has_timestamp();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > image_data_;
  ::google::protobuf::uint32 width_;
  ::google::protobuf::uint32 height_;
  ::std::string* input_name_;
  ::std::string* timestamp_;
  ::google::protobuf::uint32 stream_id_;
  friend void  protobuf_AddDesc_image_2eproto();
  friend void protobuf_AssignDesc_image_2eproto();
  friend void protobuf_ShutdownFile_image_2eproto();

  void InitAsDefaultInstance();
  static image* default_instance_;
};
// ===================================================================


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

// image

// repeated uint32 image_data = 1;
inline int image::image_data_size() const {
  return image_data_.size();
}
inline void image::clear_image_data() {
  image_data_.Clear();
}
inline ::google::protobuf::uint32 image::image_data(int index) const {
  // @@protoc_insertion_point(field_get:opencctv.image.image_data)
  return image_data_.Get(index);
}
inline void image::set_image_data(int index, ::google::protobuf::uint32 value) {
  image_data_.Set(index, value);
  // @@protoc_insertion_point(field_set:opencctv.image.image_data)
}
inline void image::add_image_data(::google::protobuf::uint32 value) {
  image_data_.Add(value);
  // @@protoc_insertion_point(field_add:opencctv.image.image_data)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
image::image_data() const {
  // @@protoc_insertion_point(field_list:opencctv.image.image_data)
  return image_data_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
image::mutable_image_data() {
  // @@protoc_insertion_point(field_mutable_list:opencctv.image.image_data)
  return &image_data_;
}

// required uint32 width = 2;
inline bool image::has_width() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void image::set_has_width() {
  _has_bits_[0] |= 0x00000002u;
}
inline void image::clear_has_width() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void image::clear_width() {
  width_ = 0u;
  clear_has_width();
}
inline ::google::protobuf::uint32 image::width() const {
  // @@protoc_insertion_point(field_get:opencctv.image.width)
  return width_;
}
inline void image::set_width(::google::protobuf::uint32 value) {
  set_has_width();
  width_ = value;
  // @@protoc_insertion_point(field_set:opencctv.image.width)
}

// required uint32 height = 3;
inline bool image::has_height() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void image::set_has_height() {
  _has_bits_[0] |= 0x00000004u;
}
inline void image::clear_has_height() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void image::clear_height() {
  height_ = 0u;
  clear_has_height();
}
inline ::google::protobuf::uint32 image::height() const {
  // @@protoc_insertion_point(field_get:opencctv.image.height)
  return height_;
}
inline void image::set_height(::google::protobuf::uint32 value) {
  set_has_height();
  height_ = value;
  // @@protoc_insertion_point(field_set:opencctv.image.height)
}

// optional uint32 stream_id = 4;
inline bool image::has_stream_id() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void image::set_has_stream_id() {
  _has_bits_[0] |= 0x00000008u;
}
inline void image::clear_has_stream_id() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void image::clear_stream_id() {
  stream_id_ = 0u;
  clear_has_stream_id();
}
inline ::google::protobuf::uint32 image::stream_id() const {
  // @@protoc_insertion_point(field_get:opencctv.image.stream_id)
  return stream_id_;
}
inline void image::set_stream_id(::google::protobuf::uint32 value) {
  set_has_stream_id();
  stream_id_ = value;
  // @@protoc_insertion_point(field_set:opencctv.image.stream_id)
}

// optional string input_name = 5;
inline bool image::has_input_name() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void image::set_has_input_name() {
  _has_bits_[0] |= 0x00000010u;
}
inline void image::clear_has_input_name() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void image::clear_input_name() {
  if (input_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    input_name_->clear();
  }
  clear_has_input_name();
}
inline const ::std::string& image::input_name() const {
  // @@protoc_insertion_point(field_get:opencctv.image.input_name)
  return *input_name_;
}
inline void image::set_input_name(const ::std::string& value) {
  set_has_input_name();
  if (input_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    input_name_ = new ::std::string;
  }
  input_name_->assign(value);
  // @@protoc_insertion_point(field_set:opencctv.image.input_name)
}
inline void image::set_input_name(const char* value) {
  set_has_input_name();
  if (input_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    input_name_ = new ::std::string;
  }
  input_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:opencctv.image.input_name)
}
inline void image::set_input_name(const char* value, size_t size) {
  set_has_input_name();
  if (input_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    input_name_ = new ::std::string;
  }
  input_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:opencctv.image.input_name)
}
inline ::std::string* image::mutable_input_name() {
  set_has_input_name();
  if (input_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    input_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:opencctv.image.input_name)
  return input_name_;
}
inline ::std::string* image::release_input_name() {
  clear_has_input_name();
  if (input_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = input_name_;
    input_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void image::set_allocated_input_name(::std::string* input_name) {
  if (input_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete input_name_;
  }
  if (input_name) {
    set_has_input_name();
    input_name_ = input_name;
  } else {
    clear_has_input_name();
    input_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:opencctv.image.input_name)
}

// required string timestamp = 6;
inline bool image::has_timestamp() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void image::set_has_timestamp() {
  _has_bits_[0] |= 0x00000020u;
}
inline void image::clear_has_timestamp() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void image::clear_timestamp() {
  if (timestamp_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    timestamp_->clear();
  }
  clear_has_timestamp();
}
inline const ::std::string& image::timestamp() const {
  // @@protoc_insertion_point(field_get:opencctv.image.timestamp)
  return *timestamp_;
}
inline void image::set_timestamp(const ::std::string& value) {
  set_has_timestamp();
  if (timestamp_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    timestamp_ = new ::std::string;
  }
  timestamp_->assign(value);
  // @@protoc_insertion_point(field_set:opencctv.image.timestamp)
}
inline void image::set_timestamp(const char* value) {
  set_has_timestamp();
  if (timestamp_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    timestamp_ = new ::std::string;
  }
  timestamp_->assign(value);
  // @@protoc_insertion_point(field_set_char:opencctv.image.timestamp)
}
inline void image::set_timestamp(const char* value, size_t size) {
  set_has_timestamp();
  if (timestamp_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    timestamp_ = new ::std::string;
  }
  timestamp_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:opencctv.image.timestamp)
}
inline ::std::string* image::mutable_timestamp() {
  set_has_timestamp();
  if (timestamp_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    timestamp_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:opencctv.image.timestamp)
  return timestamp_;
}
inline ::std::string* image::release_timestamp() {
  clear_has_timestamp();
  if (timestamp_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = timestamp_;
    timestamp_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void image::set_allocated_timestamp(::std::string* timestamp) {
  if (timestamp_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete timestamp_;
  }
  if (timestamp) {
    set_has_timestamp();
    timestamp_ = timestamp;
  } else {
    clear_has_timestamp();
    timestamp_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:opencctv.image.timestamp)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace opencctv

#ifndef SWIG
namespace google {
namespace protobuf {


}  // namespace google
}  // namespace protobuf
#endif  // SWIG

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_image_2eproto__INCLUDED
