#ifndef P2PVR_SQL_DESERIALIZER_H #define P2PVR_SQL_DESERIALIZER_H #include #include class NoRowsReturned : public std::exception { }; class SqlSelectDeserializer : public Slicer::Deserializer { public: SqlSelectDeserializer(DB::SelectCommand &, IceUtil::Optional typeIdCol = IceUtil::Optional()); virtual void Deserialize(Slicer::ModelPartPtr) override; protected: void DeserializeSimple(Slicer::ModelPartPtr); void DeserializeObject(Slicer::ModelPartPtr); void DeserializeSequence(Slicer::ModelPartPtr); void DeserializeRow(Slicer::ModelPartPtr); DB::SelectCommand & cmd; unsigned int columnCount; IceUtil::Optional typeIdColName; IceUtil::Optional typeIdColIdx; }; #endif