summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Move Q_CHECK_PTR to inline codeJoão Abecasis2012-01-182-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The behavior of Q_CHECK_PTR is user-configurable. It may throw and exception, output a warning or be a no-op. As such, its best used in inline code that gets compiled into the user application. Moving it out of the QArrayData API also enables this to be used in code that must handle out-of-memory errors without crashing or otherwise issuing warnings. Putting in QArrayDataPointer gives good convenience coverage for those who are implementing containers on top of the QArrayData stack, and covers its use in the SimpleVector test case. It intentionally leaves out the use of allocate to access the (hidden) shared-empties which don't really allocate, anyway (in QArrayDataPointer::clear and setSharable). The autotest is not updated and will have to make do without the Q_CHECK_PTR "protection". I think that is ok. Change-Id: Idcad909903a9807866bf23ace89f1bf1edc53c3b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't use qMalloc/qFree in non-inline codeJoão Abecasis2012-01-171-2/+4
| | | | | | | | | This propagates changes in b08daaedd45457b775cb90d2c2650510daff1c8d to this branch. Change-Id: I3b72f53c7b24d27075ea8593c347b504bfd8f581 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: hjk <qthjk@ovi.com>
* Don't use RefCount int operationsJoão Abecasis2012-01-171-2/+2
| | | | | | | | | | , as those are going away. This cleans use of those operations in the QArrayData stack. Change-Id: I67705fe0a2f8d99ea13739b675021356a5736f83 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: hjk <qthjk@ovi.com>
* Don't check reference count in QLinkedList<T>::freeJoão Abecasis2012-01-171-7/+7
| | | | | | | | | | | | | | | | | | | This is a private function that was always* called after d->ref.deref() returned false to free the linked list. Still, it needlessly verified the reference count to be zero. The check is thus replaced with a Q_ASSERT to check the invariant on debug builds. *This commit also fixes an issue where free would be called on a block that hadn't been deref'ed, thus leaking the nodes. Since this was in an exception handling block, and happens before any code has a chance to reference the block the explicit deref is skipped in that case. Change-Id: Ie73c174d0a1b84f297bf5531e45f829e66a46346 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Rename QArrayData::AllocateOption to AllocationOptionJoão Abecasis2012-01-163-12/+13
| | | | | Change-Id: Id3e7c748b4b40d703ad1785c903c96bdd968390e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Enable QArrayData to reference external array dataJoão Abecasis2012-01-163-4/+32
| | | | | | | | | | | | | | | | | | | | | | By default, QTypedArrayData::fromRawData provides the same semantics as already exist in QByteArray and QString (immutable, sharable data), but more combinations are possible. In particular, immutable-unsharable leaves the data owner in control of its lifetime by forcing deep copies. As part of this, a new isMutable property is introduced in QArrayData. This could be taken to be implicit in statics that are initialized with a proper size but with alloc set to 0. QStringLiteral and QByteLiteral already did this, forcing re-allocations on resize even before the (static, thus shared) ref-count is considered. The isMutable property detaches data mutability and shared status, which are orthogonal concepts (at least in the unshared state). For the time being, there is no API to explicitly (re)set mutability, but statics and RawData mark data immutable. Change-Id: I33a995a35e1c3d7a12391b1d7c36095aa28e221a Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'gerrit/master' into containersJoão Abecasis2012-01-162471-37605/+14467
|\ | | | | | | Change-Id: I2d358b912f1055ee6021d13de2f66fd459aaa355
| * Accessibility plugin is for widgets.Frederik Gladhorn2012-01-161-2/+2
| | | | | | | | | | Change-Id: Ifbfe1a7ec62979097ad82343b20be823579d99b9 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Remove all reimplementations of relationTo() returning Unrelated.Jan-Arve Saether2012-01-164-30/+0
| | | | | | | | | | | | | | | | QAccessibleInterface::relationTo() already return QAccessible::Unrelated by default. No need to duplicate that code. Change-Id: I40e6758b946c43ca8773cdb2d28407edf99aad49 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
| * Remove Qt4 Mac accessibility backend files.Morten Johan Sorvig2012-01-165-3318/+0
| | | | | | | | | | Change-Id: I2c41050b5965756ae4c2ecfe73ba5926880ed98d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Remove a ###Lars Knoll2012-01-161-1/+1
| | | | | | | | | | | | Change-Id: Ibc92317b07f3746c7978e571cae105535c01e1d6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Richard J. Moore <rich@kde.org>
| * Merge the makeEncoder/Decoder overloads.Lars Knoll2012-01-162-28/+2
| | | | | | | | | | | | Change-Id: I9fdeeafe08dd70c0ab9ce26a2fce3b8d803ca280 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
| * Remove unused variableLars Knoll2012-01-161-2/+1
| | | | | | | | | | | | Change-Id: Ib8725e89e40d6e12172b1da687da2e4d559444f3 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
| * Fix ###'es in qrect.hLars Knoll2012-01-161-37/+14
| | | | | | | | | | | | Change-Id: Id9635b6faeaf12ba2f7a0f70055b0df01cd16587 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| * Fix ### comments in QSetLars Knoll2012-01-161-14/+2
| | | | | | | | | | | | Change-Id: I302be7dc4cd7a9c2b9e35e8142ca100d6f86da7c Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
| * Use QFunctionPointer in QOpenGLContext as well.Samuel Rødal2012-01-162-2/+2
| | | | | | | | | | Change-Id: I7192e6aea721c75257bfbd1d205d5ce7764d915f Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
| * Cleanup properly when destroying QCocoaWindowBradley T. Hughes2012-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | [NSNotificationCenter addObserver]'s documentation clearly states that removeObserver needs to be called before releasing the object being observed. The m_contentView we create was never released either, so be sure to release that as well. Change-Id: Ia54eb1c5c751f4cb0edb21ad559b261cb8f24208 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
| * Fixed QGLContext::getProcAddress() to return a function pointer.Samuel Rødal2012-01-164-8/+6
| | | | | | | | | | | | Task-number: QTBUG-5729 Change-Id: I57e71f89a2c5ca7f74f73c66adcbf4a6cc073813 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
| * Fixed build break when bearer is disabled.Xizhi Zhu2012-01-163-0/+8
| | | | | | | | | | Change-Id: I29e88b046f6502c84acc9c6f566ecc328cf24e38 Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
| * xcb: Obey maximum request length when uploading imagesUli Schlachter2012-01-161-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When connecting to an X11 server, the server tells the client what its maximum allowed request size is. Larger requests are not permitted. Thus, libxcb verifies that all requests which are sent are smaller than this size limit and possibly kills the connection (without any good error message). Thus, when uploading an image, we could be trying to send more pixel data than fit into a single request. If this would be the case, the code will now use multiple requests where each request only sends a part of the allowed rows. In case all the data fits into a single request, this commit shouldn't change any behavior. Change-Id: I84a4ebfcdb6de7e206015c37e3e33cba3bd309b1 Signed-off-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Clean up and extend QAccessible::State.Frederik Gladhorn2012-01-167-46/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The state should contain useful and clear information. Some of the old enum/bitfield members were not really clear. Make them follow Qt terminology and shift the burden of interpreting them to the bridge. Apart from the previous commit changing from enum to bitfield, these flags have changed names: unavailable -> disabled mixed -> checkStateMixed protected -> passwordEdit (in the last commit) floating is completely removed, even MSAA documentation states it is unsupported. Some new states have been added. Documentation added. Change-Id: I152256e77a061f28ee5780f527524c80a2c7e333 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Accessible docs - editable text interface.Frederik Gladhorn2012-01-161-2/+66
| | | | | | | | | | Change-Id: Id8b64ff9674b7cd4ac8551528239e8ab97563764 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * xcb: abort (rather than segfault) when X is not availableRohan McGovern2012-01-161-13/+16
| | | | | | | | | | | | | | | | Be more user-friendly (e.g. when logging into a machine by ssh and forgetting to export DISPLAY). Change-Id: I9d07b0af9c5b4841827826053bb27b507801ae61 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * qglobal: Remove symbian specific featuresOlivier Goffart2012-01-162-496/+15
| | | | | | | | | | Change-Id: Ie0480b0c80b68a86e77bf3552546f494cdaf66c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * Improve the documentation of QStringLiteralOlivier Goffart2012-01-161-3/+27
| | | | | | | | | | | | Change-Id: I4bbe18ecc342f034fbc8e9fd14b700ee5272076f Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| * Remove unused QTestResult::allDataPassed().Jason McDonald2012-01-162-6/+0
| | | | | | | | | | | | | | The removed function was private API and was not used anywhere in Qt. Change-Id: Ia262d119ebba30f6968cb7145043475bf88ffa39 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
| * Rename QTestLog::addIgnoreMessage to QTestLog::ignoreMessage.Jason McDonald2012-01-163-3/+4
| | | | | | | | | | Change-Id: I4cfcd00d444d0812c58afab6ffd43dee37db1340 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
| * Document Q_DECL_CONSTEXPROlivier Goffart2012-01-141-0/+11
| | | | | | | | | | Change-Id: I61f4017186e8c7b943855723d7c677a01f7a7bf7 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
| * Clean up QCocoaIntegration destruction.Morten Johan Sorvig2012-01-142-9/+12
| | | | | | | | | | | | | | | | Fix memory leak - delete the font database. Remove the NAApplication delegate. Change-Id: I7c69eb4df01c8450c0abde360f77fbb318b20c83 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
| * qdoc3: Don't put \relates in class member functions.Martin Smith2012-01-141-15/+14
| | | | | | | | | | | | | | | | | | This removes two uses of \relates that were unnecessary. Task-number: QTBUG-23599 Change-Id: I3e10375159f6535f56622f9d24e16151938c63c3 Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * Fix qsystemerror for WinCEJanne Anttila2012-01-141-25/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | Windows CE does not have strerror(_r), so lets use string formatting provided by windowsErrorString function. In order to use windowsErrorString it was moved before standardLibraryErrorString function. Task-number: QTBUG-22498 Change-Id: Ifa20c4ac314ac8a26de6b0c5b67ced96b262c2b4 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
| * remove symbian support vestiges from text codecsMark Brand2012-01-149-747/+6
| | | | | | | | | | | | | | Change-Id: I7b577d360cb9c7225da108ee56fd927a91a04dee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * Fixed sqlite for Windows CE.Janne Anttila2012-01-141-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | Windows CE does not declare the localtime function, for this reason sqlite3.c defines it for Windows CE. However the localtime define was too late in sqlite.c code since the osLocaltime function introduced inside ifndef SQLITE_OMIT_LOCALTIME needs it also. Task-number: QTBUG-22508 Change-Id: I97b9bc6316809178cbcf7e304c5dcd7deb9005cb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
| * Cleaning up header includes.Jonas M. Gastal2012-01-135-6/+5
| | | | | | | | | | | | | | | | | | | | QNetworkCookie doesn't need to know about QNetworkCookieJar and for QNetworkCookieJar header a forward declared QNetworkCookie is enough. Change-Id: I21145ce0f67a0a6bd68a46a5e757f82105cdf520 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
| * libpng config for WEC7Janne Anttila2012-01-131-1/+3
| | | | | | | | | | | | | | | | | | WEC7 is missing some time conversion related functions -> configured libpng for WinCE accordingly. Task-number: QTBUG-22506 Change-Id: Ia4038aaf44944883be8f3e25817a638118c1a73d Reviewed-by: aavit <qt_aavit@ovi.com>
| * Update touchscreen plug-in's readmeLaszlo Agocs2012-01-131-5/+3
| | | | | | | | | | | | | | | | To match the new mouse-for-unhandled-touch-event feature in QGuiApplication. Change-Id: Ifa3872ab51a8e95bee235a3681b0a9d1ec13081c Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Fixed QFile::link behaviour for WinCE devices.Janne Anttila2012-01-131-0/+1
| | | | | | | | | | | | | | | | | | | | In WEC7 both arguments given for ScCreateShortcut needs to be given in Windows format. Apparently older WinCE devices has accepted also Unix format but this is not anymore true for WEC7. The Windows format works for older WinCE versions as well. Change-Id: Ic1f394e20bae8ad42acb46929d3ff4af92daf310 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
| * Build fix for WINCE to qlocale_tools.cppJanne Anttila2012-01-131-0/+4
| | | | | | | | | | | | | | Task-number: QTBUG-22500 Change-Id: If530799cf8ef971f5caf78d0c6dbeeda719d148f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
| * Windows: Fix qt_ntfs_permission_lookupMiikka Heikkinen2012-01-131-11/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifying qt_ntfs_permission_lookup++ in application code didn't make qfilesystemengine_win.cpp respect Windows ACL as it was supposed to. This was because GetTokenInformation for TokenUser failed always in resolveLibs() function, because the TOKEN_USER struct that was given to it wasn't large enough to contain both TOKEN_USER and SID structs that GetTokenInformation wants to return in this case. Fixed by calling GetTokenInformation twice, first to determine the required size, and then another time to get the actual token info. Additionally, the SID returned as part of the token info needs to be stored for the lifetime of the application, as the TRUSTEE_W struct has a pointer to it (currentUserTrusteeW). The worldTrusteeW initialization also required a change to properly store the SID. Note: The dynamic resolution of FreeSid and other SID manipulating functions doesn't appear to be necessary, as they are found on the same ifdef level (in winbase.h) as the GetTokenInformation, which already isn't dynamically resolved. Task-number: QTBUG-247 Change-Id: I0294c85ea903c86d03c2fcd3d801502b378dc0e5 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
| * Build fix for WINCE to qfsfileengine_win.cppJanne Anttila2012-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFileSystemEngine::currentPath() returns QFileSystemEntry, but this method expects QString return value. -> Code does not compile for WinCE Switched code to use "QFileSystemEngine::currentPath().filePath()" correspondigly as Windows desktop does if filename does not contain drive letter. This is ok, since WinCE does not support drive letters. Task-number: QTBUG-22499 Change-Id: Ic4935357c40cda30efcd2e1c7d69bf2ef7b31dd0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
| * add missing multiple inclusion guardMark Brand2012-01-131-0/+5
| | | | | | | | | | | | | | Change-Id: I82e9d1ddfc1a46bf47b8948dce800dcbcc1a0305 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Constantin Makshin <cmakshin@gmail.com> Reviewed-by: hjk <qthjk@ovi.com>
| * Windows: Use a message-only window as clipboard viewer or for GL.Friedemann Kleint2012-01-131-3/+3
| | | | | | | | | | Change-Id: Ib8d287404b157aae2f4493ef8eba220afaba6c47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * Added application flags to translate between touch and mouse events.Samuel Rødal2012-01-1314-115/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current way we do it of having the platform or touch plugin send both mouse and touch events is not ideal. There's no good way to write an application that works sanely both on a touch-only device and on a desktop except by restricting yourself to only handling mouse events. If you try to handle touch events you don't get any events at all on desktop, and if you try to handle both, you end up getting duplicate events on touch devices. Instead, we should get rid of the code in the plugins that automatically sends mouse events translated from touch events. This change enables that by making the behaviour fully configurable in QtGui. Two new application attributes are added to explicitly say whether unhandled touch events should be sent as synthesized mouse events and vice versa, and no duplicates are automatically sent as the current situation. Synthesized mouse events are enabled by default. We also get rid of the QTouchEvent::TouchPoint::Primary flag, which was only used to signal that the windowing system automatically generated mouse events for that touch point. Now we only generate mouse events from the first touch point in the list. Change-Id: I8e20f3480407ca8c31b42de0a4d2b319e1346b65 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
| * QEventDispatcherWin32's internal Window should be a Message-Only WindowDebao Zhang2012-01-131-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | A message-only window enables you to send and receive messages. It is not visible, has no z-order, cannot be enumerated, and does not receive broadcast messages. The window simply dispatches messages. Task-number: QTBUG-17144 Change-Id: Ibaf18f9ef5165166bf0b88e2f4952faba96d5eef Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * Cocoa: Send window activation events.Morten Johan Sorvig2012-01-133-0/+22
| | | | | | | | | | | | Change-Id: I599b4316f1535bf4855b205bfb2117bbcee63bf0 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
| * Remove the Q_NO_DATA_RELOCATION hackOlivier Goffart2012-01-135-67/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This hack was there because symbian used to have a problem with relocations in the data section, between libraries. Hence, this was needed so the metaobject could have a pointer to the base metaobject, despite being in another library. Anyway, I was told that symbian was fixed eventually. but the hack had to stay there because of compatibility. But now that we don't even support symbian, we can get rid of this hack totally. Change-Id: I7249971ece35d952efa92bf8b04bf3aa3667624c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
| * qdoc3: Don't put a \table in a \valueMartin Smith2012-01-131-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In qdoc, the \value command is meant to document a single value of an enum. e.g. \value TypeOfService Text describing the type of service. It runs until the next \value or a blank line. Although it doesn't say you can't build a \table in the \value text, it doesn't work. For now, the fix is to remove the \table from the \value text and make the table separate from the enum \value list and let the description of the \table refer to the value that it belongs to. Task-number: QTBUG-23599 Change-Id: I88b456dca419a565eece30ba20fe09c0bcd4d98d Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * qdoc3: Don't put \relates in class member functions.Martin Smith2012-01-131-2/+0
| | | | | | | | | | | | | | | | | | This removes two uses of \relates that were unnecessary. Task-number: QTBUG-23600 Change-Id: Id9bbcfa6f95d42ad552054e4839dbacb69fd1b2a Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * Remove shadowing members in QNetworkReplyHttpImplPrivateAlexander Færøy2012-01-121-2/+0
| | | | | | | | | | | | | | Task-number: QTBUG-23512 Change-Id: I072dfde1741a1d32a6125f63e52cc22bc499987f Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
| * Fix compilation of public headers with -Werror=shadowDavid Faure2012-01-122-3/+3
| | | | | | | | | | Change-Id: Id47623002abca1e03fdfb9e9bd9cbc1b5542a2db Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>