all test done
This commit is contained in:
parent
dd9498f38d
commit
08ad191f2e
@ -27,6 +27,7 @@ interface::XFDispatcher * interface::XFDispatcher::getInstance() {
|
|||||||
// TODO done: Implement code for XFDispatcher class
|
// TODO done: Implement code for XFDispatcher class
|
||||||
|
|
||||||
XFDispatcher::XFDispatcher() {
|
XFDispatcher::XFDispatcher() {
|
||||||
|
this->pMutex_ = interface::XFMutex::create();
|
||||||
}
|
}
|
||||||
|
|
||||||
XFDispatcher::~XFDispatcher() {
|
XFDispatcher::~XFDispatcher() {
|
||||||
@ -47,7 +48,9 @@ void XFDispatcher::dispatchEvent(const XFEvent *pEvent) const {
|
|||||||
|
|
||||||
void XFDispatcher::pushEvent(XFEvent *pEvent) {
|
void XFDispatcher::pushEvent(XFEvent *pEvent) {
|
||||||
//Trace::out("[DEBUG] - Push Event");
|
//Trace::out("[DEBUG] - Push Event");
|
||||||
|
this->pMutex_->lock();
|
||||||
events_.push(pEvent, false);
|
events_.push(pEvent, false);
|
||||||
|
this->pMutex_->unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFDispatcher::scheduleTimeout(int timeoutId, int interval, interface::XFBehavior *pBehavior) {
|
void XFDispatcher::scheduleTimeout(int timeoutId, int interval, interface::XFBehavior *pBehavior) {
|
||||||
@ -60,13 +63,19 @@ void XFDispatcher::unscheduleTimeout(int timeoutId, interface::XFBehavior *pBeha
|
|||||||
|
|
||||||
void XFDispatcher::executeOnce() {
|
void XFDispatcher::executeOnce() {
|
||||||
if(!this->events_.empty()) {
|
if(!this->events_.empty()) {
|
||||||
dispatchEvent(this->events_.front());
|
|
||||||
|
this->pMutex_->lock();
|
||||||
|
const XFEvent *ev = this->events_.front();
|
||||||
this->events_.pop();
|
this->events_.pop();
|
||||||
|
this->pMutex_->unlock();
|
||||||
|
|
||||||
|
dispatchEvent(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int XFDispatcher::execute(const void *param) {
|
int XFDispatcher::execute(const void *param) {
|
||||||
|
(void) param;
|
||||||
while(true){
|
while(true){
|
||||||
this->executeOnce();
|
this->executeOnce();
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ XFTimeoutManager::~XFTimeoutManager() {
|
|||||||
|
|
||||||
void XFTimeoutManager::addTimeout(XFTimeout *pNewTimeout) {
|
void XFTimeoutManager::addTimeout(XFTimeout *pNewTimeout) {
|
||||||
this->pMutex_->lock();
|
this->pMutex_->lock();
|
||||||
this->timeouts_.push_front(pNewTimeout);
|
this->timeouts_.push_back(pNewTimeout);
|
||||||
this->pMutex_->unlock();
|
this->pMutex_->unlock();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -89,6 +89,7 @@ void XFTimeoutManager::tick() {
|
|||||||
XFEvent* ev = *(it);
|
XFEvent* ev = *(it);
|
||||||
XFDispatcher::getInstance()->pushEvent(ev);
|
XFDispatcher::getInstance()->pushEvent(ev);
|
||||||
it = this->timeouts_.erase(it);
|
it = this->timeouts_.erase(it);
|
||||||
|
it--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->pMutex_->unlock();
|
this->pMutex_->unlock();
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<project>
|
||||||
|
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.666965065" name="Debug">
|
||||||
|
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||||
|
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1172803102310709121" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
|
</provider>
|
||||||
|
</extension>
|
||||||
|
</configuration>
|
||||||
|
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.661535232" name="Release">
|
||||||
|
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||||
|
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1172803102310709121" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
|
</provider>
|
||||||
|
</extension>
|
||||||
|
</configuration>
|
||||||
|
</project>
|
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<project>
|
||||||
|
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.912685179" name="Debug">
|
||||||
|
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||||
|
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1172803102310709121" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
|
</provider>
|
||||||
|
</extension>
|
||||||
|
</configuration>
|
||||||
|
<configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.856286833" name="Release">
|
||||||
|
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
|
||||||
|
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1172803102310709121" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
|
</provider>
|
||||||
|
</extension>
|
||||||
|
</configuration>
|
||||||
|
</project>
|
Reference in New Issue
Block a user