Ignore:
Timestamp:
06/03/13 18:13:21 (11 years ago)
Author:
morasjul
Message:

beta : correct reading mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.0-beta1/include/Pacpus/kernel/inputOutputInterface.h

    r96 r102  
    2323    InputInterface(QString name, C * component, void (C::*m)(const T&)):InputInterfaceBase(name,component,component), method(m) {}
    2424    ~InputInterface() {}
    25 
    26     enum ReadingMode {
    27         NeverSkip,
    28         TimeBounded,
    29         GetLast
    30     };
    31 
    32     void setReadingMode(ReadingMode mode) { readingMode_ = mode;}
    3325    size_t getDataSize() {return sizeof(T);}
    3426    QString getDataType() {return QString(typeid(T).name());}
    3527
    3628    protected:
    37     ReadingMode readingMode_;
    3829    int boundingTime_;
    3930
     
    5748                switch (readingMode_){
    5849                    case TimeBounded:
     50                                                qDebug() << "Input " << this->getSignature() << " Time bournded "<< road_time()- typedEvent->t_ << " " << typedEvent->tr_;
    5951                    if(road_time() - typedEvent->t_> typedEvent->tr_)
    60                         break;
     52                                                { qDebug() << "Data skip " << this->getSignature();
     53                                        break;}
    6154                        (dynamic_cast<C*>(_component)->*method)(typedEvent->_data);
    6255                        break;
    6356                    case GetLast:
     57                                                qDebug() << "Input " << this->getSignature() << "GetLast "<< road_time() - typedEvent->t_ << " " << typedEvent->tr_;
    6458                        (dynamic_cast<C*>(_component)->*method)(typedEvent->_data);
    6559                        QCoreApplication::removePostedEvents(this,TYPED_EVENT); // delete all remining events
    6660                        break;
    6761                    case NeverSkip:
     62                                                qDebug() << "Input " << this->getSignature() << "NeverSkip "<< road_time() - typedEvent->t_ << " " << typedEvent->tr_;
    6863                    default:
    6964                        (dynamic_cast<C*>(_component)->*method)(typedEvent->_data);
     
    113108
    114109    // Used by Components to send data througth typed output
    115     void send(const T & data) {
     110    void send(const T & data, road_time_t t = road_time(), road_timerange_t tr = 0) {
    116111        for(QList<ConnectionBase>::iterator it = _connection.begin(); it!=_connection.end(); ++it){
    117112
    118113            //if(it->getInterface()->getDataType() != QString(typeid(QByteArray).name()))
    119                 QApplication::postEvent(it->getInterface(),new PacpusTypedEvent<T>(TYPED_EVENT,data),it->getPriority());
     114                QApplication::postEvent(it->getInterface(),new PacpusTypedEvent<T>(TYPED_EVENT,data,t,tr),it->getPriority());
    120115           /*else {
    121116                QByteArray buf;
Note: See TracChangeset for help on using the changeset viewer.