Changeset 206 in pacpusframework for trunk/include/Pacpus/kernel/PacpusEvent.h


Ignore:
Timestamp:
10/30/13 12:26:34 (11 years ago)
Author:
Marek Kurdej
Message:

Major: cleaned connection interfaces.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/Pacpus/kernel/PacpusEvent.h

    r196 r206  
    3838
    3939    // TODO: should we make it virtual pure ???
    40     virtual QDataStream& streamOut(QDataStream& out)
     40    virtual QDataStream & streamOut(QDataStream & out)
    4141    {
    4242        return out;
     
    7777{
    7878public:
    79     TypedData(const T& data)
    80     : m_data(data)
     79    TypedData(const T & data)
     80        : m_data(data)
    8181    {
    8282    }
     
    9696    }
    9797
    98     size_t size() const
     98    std::size_t size() const
    9999    {
    100100        return sizeof(T);
     
    112112public:
    113113    // FIXME: why we need `data = T()` ???
    114     PacpusTypedEvent(PacpusEventType type, const T & data = T(), road_time_t t = road_time(), road_timerange_t tr = 0 )
     114    PacpusTypedEvent(PacpusEventType type, const T & data/* = T()*/, road_time_t t = road_time(), road_timerange_t tr = 0)
    115115        : PacpusEvent(type, t, tr)
    116116        , TypedData<T>(data)
    117     {}
     117    {
     118    }
     119   
     120    /// Conversion constructor from another PacpusTypedEvent,
     121    /// when T is convertible to S
     122    template <typename S>
     123    PacpusTypedEvent(const PacpusTypedEvent<S> & other)
     124        : PacpusEvent(static_cast<PacpusEventType>(other.type()), other.time(), other.timerange())
     125        , TypedData<T>(other.data())
     126    {
     127    }
    118128
    119129    ~PacpusTypedEvent()
    120     {}
    121 
    122     QDataStream& streamOut(QDataStream& out)
     130    {
     131    }
     132
     133    QDataStream & streamOut(QDataStream & out)
    123134    {
    124135        // FIXME Stream Data errors
     
    126137    }
    127138
    128     QDataStream& streamIn(QDataStream& in)
     139    QDataStream & streamIn(QDataStream & in)
    129140    {
    130141        return in >> (quint64&) time() >> timerange() /*>> m_data*/;
     
    135146{
    136147public:
    137     GenericData(const char* data, size_t size)
     148    GenericData(const char * data, size_t size)
    138149        : m_data(NULL)
    139150        , m_dataSize(size)
     
    164175    }
    165176
    166     size_t size() const
     177    std::size_t size() const
    167178    {
    168179        return m_dataSize;
     
    170181
    171182private:
    172     char* m_data;
    173     size_t m_dataSize;
     183    char * m_data;
     184    std::size_t m_dataSize;
    174185};
    175186
     
    179190{
    180191public:
    181     PacpusGenericEvent(PacpusEventType type, const char* data, size_t size)
     192    PacpusGenericEvent(PacpusEventType type, const char * data, size_t size)
    182193        : PacpusEvent(type)
    183194        , GenericData(data, size)
     
    192203} // namespace pacpus
    193204
    194 PACPUSLIB_API inline QDataStream& operator<< (QDataStream& out, pacpus::PacpusEvent& ev)
     205PACPUSLIB_API inline QDataStream & operator<<(QDataStream & out, pacpus::PacpusEvent & ev)
    195206{
    196207    /*return ev.streamOut(out);*/
     
    198209}
    199210
    200 PACPUSLIB_API inline QDataStream& operator>> (QDataStream& in, pacpus::PacpusEvent& ev)
     211PACPUSLIB_API inline QDataStream & operator>>(QDataStream & in, pacpus::PacpusEvent & ev)
    201212{
    202213    /*return ev.streamIn(in);*/
Note: See TracChangeset for help on using the changeset viewer.