17 #ifndef AVROGENERICUTILS_HPP_ 
   18 #define AVROGENERICUTILS_HPP_ 
   23 #include <avro/Generic.hh> 
   43     static bool isUuid(
const avro::GenericDatum &d) {
 
   44         if (d.type() == avro::AVRO_FIXED) {
 
   45             auto f = d.value<avro::GenericFixed>();
 
   46             return f.schema()->name().fullname().compare(AvroGenericUtils::UUIDT) == 0;
 
   58     static bool isFixed(
const avro::GenericDatum &d) {
 
   59         return (d.type() == avro::AVRO_FIXED);
 
   69     static bool isEnum(
const avro::GenericDatum &d) {
 
   70         return (d.type() == avro::AVRO_ENUM);
 
   80     static bool isRecord(
const avro::GenericDatum &d) {
 
   81         return (d.type() == avro::AVRO_RECORD);
 
   91     static bool isArray(
const avro::GenericDatum &d) {
 
   92         return (d.type() == avro::AVRO_ARRAY);
 
  102     static bool isNull(
const avro::GenericDatum &d) {
 
  103         return d.type() == avro::AVRO_NULL;
 
  113     static bool isReset(
const avro::GenericDatum &d) {
 
  114         if (d.type() != avro::AVRO_ENUM) {
 
  117         const avro::GenericEnum &e = d.value<avro::GenericEnum>();
 
  118         return e.schema()->name().fullname().compare(AvroGenericUtils::RESETT) == 0;
 
  129         if (d.type() != avro::AVRO_ENUM) {
 
  132         const avro::GenericEnum &e = d.value<avro::GenericEnum>();
 
  133         return e.schema()->name().fullname().compare(AvroGenericUtils::UNCHANGEDT) == 0;
 
  144         const avro::GenericFixed& uuidFixed = datum.value<avro::GenericRecord>().
 
  145                 field(
"__uuid").value<avro::GenericFixed>();
 
  147         if (uuidFixed.value().size() != uuid.size()) {
 
  151         std::copy(uuidFixed.value().begin(), uuidFixed.value().end(), uuid.begin());
 
  163         const avro::GenericFixed& uuidFixed = datum.value<avro::GenericFixed>();
 
  165         if (uuidFixed.value().size() != uuid.size()) {
 
  169         std::copy(uuidFixed.value().begin(), uuidFixed.value().end(), uuid.begin());
 
  176     static const std::string RESETT;
 
  177     static const std::string UNCHANGEDT;
 
  178     static const std::string UUIDT;
 
static bool isEnum(const avro::GenericDatum &d)
 
static bool isReset(const avro::GenericDatum &d)
 
static bool isNull(const avro::GenericDatum &d)
 
static bool isUnchanged(const avro::GenericDatum &d)
 
static bool isArray(const avro::GenericDatum &d)
 
boost::uuids::uuid uuid_t
 
static uuid_t getUuidFromDatum(const avro::GenericDatum &datum)
 
static DeltaHandlerId getDeltaIDFromDatum(const avro::GenericDatum &datum)
 
static bool isRecord(const avro::GenericDatum &d)
 
static bool isFixed(const avro::GenericDatum &d)
 
static bool isUuid(const avro::GenericDatum &d)