/**
 * Autogenerated by Thrift Compiler (0.12.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
#ifndef storage_management_service_TYPES_H
#define storage_management_service_TYPES_H

#include <iosfwd>

#include <thrift/Thrift.h>
#include <thrift/TApplicationException.h>
#include <thrift/TBase.h>
#include <thrift/protocol/TProtocol.h>
#include <thrift/transport/TTransport.h>

#include <thrift/stdcxx.h>


namespace jiffy { namespace storage {

class storage_management_exception;

typedef struct _storage_management_exception__isset {
  _storage_management_exception__isset() : msg(false) {}
  bool msg :1;
} _storage_management_exception__isset;

class storage_management_exception : public ::apache::thrift::TException {
 public:

  storage_management_exception(const storage_management_exception&);
  storage_management_exception& operator=(const storage_management_exception&);
  storage_management_exception() : msg() {
  }

  virtual ~storage_management_exception() throw();
  std::string msg;

  _storage_management_exception__isset __isset;

  void __set_msg(const std::string& val);

  bool operator == (const storage_management_exception & rhs) const
  {
    if (!(msg == rhs.msg))
      return false;
    return true;
  }
  bool operator != (const storage_management_exception &rhs) const {
    return !(*this == rhs);
  }

  bool operator < (const storage_management_exception & ) const;

  template <class Protocol_>
  uint32_t read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t write(Protocol_* oprot) const;

  virtual void printTo(std::ostream& out) const;
  mutable std::string thriftTExceptionMessageHolder_;
  const char* what() const throw();
};

void swap(storage_management_exception &a, storage_management_exception &b);

std::ostream& operator<<(std::ostream& out, const storage_management_exception& obj);

}} // namespace

#include "storage_management_service_types.tcc"

#endif
