void DBusInputStream::endReadSerializableStruct(const SerializableStruct& serializableStruct) { }
+void DBusInputStream::readSerializableVariant(SerializableVariant& serializableVariant) {
+ alignToBoundary(8);
+ uint8_t containedTypeIndex;
+ readValue(containedTypeIndex);
+ skipOverSignature();
+
+ serializableVariant.readFromInputStream(containedTypeIndex, *this);
+}
+
void DBusInputStream::beginReadBoolVector() {
beginReadGenericVector();
virtual void beginReadSerializableStruct(const SerializableStruct& serializableStruct);
virtual void endReadSerializableStruct(const SerializableStruct& serializableStruct);
+ virtual void readSerializableVariant(SerializableVariant& serializableVariant);
+
virtual void beginReadBoolVector();
virtual void beginReadInt8Vector();
virtual void beginReadInt16Vector();
bytesToRead_.push(vectorByteSize);
}
+ inline void skipOverSignature() {
+ uint8_t length;
+ readValue(length);
+ assert(length < 256);
+ }
+
char* dataBegin_;
position_t currentDataPosition_;
size_t dataLength_;
writeBasicTypeValue((uint32_t) 0);
}
- inline void writeSignature(std::string signature) {
+ inline void writeSignature(const std::string& signature) {
uint8_t length = (uint8_t) signature.length();
assert(length < 256);
*this << length;