예제 #1
0
            ostream& PointIDDriver::operator<<(ostream &out) const {
                // Serializer super class.
                Behavior::operator<<(out);

                SerializationFactory& sf=SerializationFactory::getInstance();

                core::SharedPointer<Serializer> s = sf.getSerializer(out);

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL8('h', 'a', 's', 's', 't', 'a', 'r', 't') >::RESULT,
                        (m_startType != NULL));

                if (m_startType != NULL) {
                    // Write data to stringstream.
                    stringstream sstr;
                    sstr << static_cast<uint32_t>(m_startType->getType())
                    << *m_startType;

                    s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL5('s', 't', 'a', 'r', 't') >::RESULT,
                            sstr.str());
                }

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('h', 'a', 's', 's', 't', 'o', 'p') >::RESULT,
                        (m_stopType != NULL));

                if (m_stopType != NULL) {
                    // Write data to stringstream.
                    stringstream sstr;
                    sstr << static_cast<uint32_t>(m_stopType->getType())
                    << *m_stopType;

                    s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('s', 't', 'o', 'p') >::RESULT,
                            sstr.str());
                }

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('a') >::RESULT,
                        m_constantAcceleration);

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('v') >::RESULT,
                        m_constantVelocity);

                uint32_t numberOfPointIDs = static_cast<uint32_t>(m_listOfPointIDs.size());
                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL7('n', 'u', 'm', 'p', 'i', 'd', 's') >::RESULT,
                        numberOfPointIDs);

                // Write PointIDs to stringstream.
                stringstream sstr;
                for (uint32_t i = 0; i < numberOfPointIDs; i++) {
                    // Write data to stringstream.
                    sstr << m_listOfPointIDs.at(i);
                }

                // Write PointIDs.
                if (numberOfPointIDs > 0) {
                    s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL4('p', 'i', 'd', 's') >::RESULT,
						sstr.str());
                }

                return out;
            }
예제 #2
0
            ostream& Line::operator<<(ostream &out) const {
                SerializationFactory& sf=SerializationFactory::getInstance();

                core::SharedPointer<Serializer> s = sf.getSerializer(out);

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('a') >::RESULT,
                        m_A);

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('b') >::RESULT,
                        m_B);

                return out;
            }
예제 #3
0
                SerializationFactory& sf=SerializationFactory::getInstance();

                core::SharedPointer<Serializer> s = sf.getSerializer(out);

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('a') >::RESULT,
                        m_A);

                s->write(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('b') >::RESULT,
                        m_B);

                return out;
            }

            istream& Line::operator>>(istream &in) {
                SerializationFactory& sf=SerializationFactory::getInstance();

                core::SharedPointer<Deserializer> d = sf.getDeserializer(in);

                d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('a') >::RESULT,
                       m_A);

                d->read(CRC32 < OPENDAVINCI_CORE_STRINGLITERAL1('b') >::RESULT,
                       m_B);

                return in;
            }

        }
    }
} // hesperia::data::environment