Changeset 148 in pacpusframework for branches/2.0-beta1/include/Pacpus/kernel/InputOutputInterface.h
- Timestamp:
- 07/31/13 14:42:05 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.0-beta1/include/Pacpus/kernel/InputOutputInterface.h
r138 r148 21 21 22 22 template <class T, class C> 23 class InputInterface : public InputInterfaceBase 23 class InputInterface 24 : public InputInterfaceBase 24 25 { 25 26 public: 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 {} 30 31 31 protected: 32 ~InputInterface() 33 {} 32 34 33 public: 35 size_t getDataSize() 36 { 37 return sizeof(T); 38 } 34 39 35 PacpusEvent* getEventTemplate() {return new PacpusTypedEvent<T>(TYPED_EVENT); } 40 QString getDataType() 41 { 42 return QString(typeid(T).name()); 43 } 36 44 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 39 53 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) 43 57 PacpusTypedEvent<T> * typedEvent = dynamic_cast<PacpusTypedEvent<T> *> (event); 44 58 … … 47 61 //if(_component) get state 48 62 49 if (typedEvent->tr_ < 500 && readingMode_== TimeBounded) {63 if (typedEvent->timerange() < 500 && readingMode() == TimeBounded) { 50 64 //LOG_WARN("Incorrect TimeRange (0), switch to NeverSkip"); 51 65 qDebug() << "Incorrect TimeRange (0), switch to NeverSkip"; 52 readingMode _= NeverSkip;}66 readingMode() = NeverSkip;} 53 67 54 switch (readingMode _){68 switch (readingMode()) { 55 69 case TimeBounded: 56 70 //qDebug() << "Input " << this->getSignature().leftJustified(20) << QString("Time bournded").leftJustified(15) << road_time()- typedEvent->t_ << "\t" << typedEvent->tr_; 57 71 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 } 60 76 61 (dynamic_cast<C*>( _component)->*method)(typedEvent->data_);77 (dynamic_cast<C*>(component())->*method)(typedEvent->data()); 62 78 break; 63 79 … … 65 81 //qDebug() << "Input " << this->getSignature().leftJustified(20) << QString("GetLast").leftJustified(15) << road_time() - typedEvent->t_ << "\t" << typedEvent->tr_; 66 82 67 (dynamic_cast<C*>( _component)->*method)(typedEvent->data_);83 (dynamic_cast<C*>(component())->*method)(typedEvent->data()); 68 84 QCoreApplication::removePostedEvents(this,TYPED_EVENT); // delete all remining events 69 85 break; … … 73 89 74 90 default: 75 (dynamic_cast<C*>( _component)->*method)(typedEvent->data_);91 (dynamic_cast<C*>(component())->*method)(typedEvent->data()); 76 92 } 77 93 break; … … 136 152 //QSharedPointer<T> sharedPointer = new T(data); 137 153 138 for(QList<ConnectionBase>::iterator it = _connection.begin(); it!=_connection.end(); ++it){154 for(QList<ConnectionBase>::iterator it = connections().begin(); it != connections().end(); ++it){ 139 155 QApplication::postEvent(it->getInterface(),new PacpusTypedEvent<T>(TYPED_EVENT,data,t,tr),it->getPriority()); // Event is delete by the event loop handler 140 156 //qDebug() << "sender " << it->getInterface()->getSignature() << " thread " << QThread::currentThread() << " Data & " << &data << " "; … … 166 182 } 167 183 */ 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 } 170 193 }; 171 194
Note:
See TracChangeset
for help on using the changeset viewer.