Ignore:
Timestamp:
07/31/13 14:42:05 (11 years ago)
Author:
Marek Kurdej
Message:

Corrections in PacpusEvent, InputOutputBase, InputOutputInterface.
Fixed: DLL import/export in geodesie.h.

File:
1 edited

Legend:

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

    r138 r148  
    2121
    2222template <class T, class C>
    23 class InputInterface : public InputInterfaceBase
     23class InputInterface
     24    : public InputInterfaceBase
    2425{
    2526public:
    26     InputInterface(QString name, C * component, void (C::*m)(const T&)):InputInterfaceBase(name,component,component), method(m) {}
    27     ~InputInterface() {}
    28     size_t getDataSize() {return sizeof(T);}
    29     QString getDataType() {return QString(typeid(T).name());}
     27    InputInterface(QString name, C * component, void (C::*m)(const T&))
     28        : InputInterfaceBase(name,component,component)
     29        , method(m)
     30    {}
    3031
    31 protected:
     32    ~InputInterface()
     33    {}
    3234
    33 public:
     35    size_t getDataSize()
     36    {
     37        return sizeof(T);
     38    }
    3439
    35     PacpusEvent* getEventTemplate() {return new PacpusTypedEvent<T>(TYPED_EVENT); }
     40    QString getDataType()
     41    {
     42        return QString(typeid(T).name());
     43    }
    3644
    37     void customEvent(QEvent* event) {
    38 // TODO check compoennt state started
     45    PacpusEvent* getEventTemplate()
     46    {
     47        return new PacpusTypedEvent<T>(TYPED_EVENT);
     48    }
     49
     50    void customEvent(QEvent* event)
     51    {
     52        // TODO check component state started
    3953        switch (event->type()) {
    40 
    41         // from Component to Component (T->T)
    42         case TYPED_EVENT: {
     54        case TYPED_EVENT:
     55            {
     56            // cast from Component to Component (T->T)
    4357            PacpusTypedEvent<T> * typedEvent = dynamic_cast<PacpusTypedEvent<T> *> (event);
    4458
     
    4761            //if(_component) get state
    4862
    49             if(typedEvent->tr_ < 500 && readingMode_ == TimeBounded) {
     63            if (typedEvent->timerange() < 500 && readingMode() == TimeBounded) {
    5064                //LOG_WARN("Incorrect TimeRange (0), switch to NeverSkip");
    5165                qDebug() << "Incorrect TimeRange (0), switch to NeverSkip";
    52                 readingMode_ = NeverSkip;}
     66                readingMode() = NeverSkip;}
    5367
    54             switch (readingMode_){
     68            switch (readingMode()) {
    5569            case TimeBounded:
    5670                //qDebug() << "Input " << this->getSignature().leftJustified(20) << QString("Time bournded").leftJustified(15) << road_time()- typedEvent->t_ << "\t" << typedEvent->tr_;
    5771
    58                 if(road_time() - typedEvent->t_> typedEvent->tr_)
    59                     {qDebug() << "Data skip " << this->getSignature();  break;}
     72                if (road_time() - typedEvent->time() > typedEvent->timerange()) {
     73                    qDebug() << "Data skip " << this->getSignature();
     74                    break;
     75                }
    6076
    61                 (dynamic_cast<C*>(_component)->*method)(typedEvent->data_);
     77                (dynamic_cast<C*>(component())->*method)(typedEvent->data());
    6278                break;
    6379
     
    6581                //qDebug() << "Input " << this->getSignature().leftJustified(20) << QString("GetLast").leftJustified(15) << road_time() - typedEvent->t_ << "\t" << typedEvent->tr_;
    6682
    67                 (dynamic_cast<C*>(_component)->*method)(typedEvent->data_);
     83                (dynamic_cast<C*>(component())->*method)(typedEvent->data());
    6884                QCoreApplication::removePostedEvents(this,TYPED_EVENT); // delete all remining events
    6985                break;
     
    7389
    7490            default:
    75                 (dynamic_cast<C*>(_component)->*method)(typedEvent->data_);
     91                (dynamic_cast<C*>(component())->*method)(typedEvent->data());
    7692            }
    7793            break;
     
    136152        //QSharedPointer<T> sharedPointer = new T(data);
    137153
    138         for(QList<ConnectionBase>::iterator it = _connection.begin(); it!=_connection.end(); ++it){
     154        for(QList<ConnectionBase>::iterator it = connections().begin(); it != connections().end(); ++it){
    139155            QApplication::postEvent(it->getInterface(),new PacpusTypedEvent<T>(TYPED_EVENT,data,t,tr),it->getPriority()); // Event is delete by the event loop handler
    140156            //qDebug() << "sender " << it->getInterface()->getSignature() <<  " thread " << QThread::currentThread() << " Data & " << &data << " ";
     
    166182    }
    167183*/
    168     size_t getDataSize() {return sizeof(T);}
    169     QString getDataType() {return QString(typeid(T).name());}
     184    size_t getDataSize()
     185    {
     186        return sizeof(T);
     187    }
     188
     189    QString getDataType()
     190    {
     191        return QString(typeid(T).name());
     192    }
    170193};
    171194
Note: See TracChangeset for help on using the changeset viewer.