PlatformTouchPoint::PlatformTouchPoint(const BlackBerry::Platform::TouchPoint& point) : m_id(point.id()) , m_screenPos(point.screenPosition()) // FIXME: We should be calculating a new viewport position from the current scroll // position and the documentContentPosition, in case we scrolled since the platform // event was created. , m_pos(point.documentViewportPosition()) { switch (point.state()) { case BlackBerry::Platform::TouchPoint::TouchReleased: m_state = TouchReleased; break; case BlackBerry::Platform::TouchPoint::TouchMoved: m_state = TouchMoved; break; case BlackBerry::Platform::TouchPoint::TouchPressed: m_state = TouchPressed; break; case BlackBerry::Platform::TouchPoint::TouchStationary: m_state = TouchStationary; break; default: m_state = TouchStationary; // make sure m_state is initialized BLACKBERRY_ASSERT(false); break; } }
bool RSS10Parser::parseXmlDoc(xmlDocPtr doc) { if (!doc) return false; xmlNode* node = xmlDocGetRootElement(doc); if (!node) { xmlFreeDoc(doc); return false; } for (; node; node = node->next) { String name(reinterpret_cast<const char*>(node->name)); if (name == "RDF") { xmlNode* childnode = node->children; for (; childnode; childnode = childnode->next) { if (childnode->type == XML_ELEMENT_NODE) { name = String(reinterpret_cast<const char*>(childnode->name)); name.makeLower(); if (name == "channel") { BLACKBERRY_ASSERT(!m_root); if (!m_root) m_root = parseFeed(childnode->children); } else if (name == "item") { BLACKBERRY_ASSERT(m_root); if (m_root) { RSSItem* item = parseItem(childnode->children); if (item) m_root->m_items.append(item); } } } } } } xmlFreeDoc(doc); return m_root; }
RSSItem* RSS10Parser::parseItem(xmlNode* node) { BLACKBERRY_ASSERT(node); RSSItem* item = new RSSItem(); for (; node; node = node->next) { String name(reinterpret_cast<const char*>(node->name)); name.makeLower(); parseItemBaseAttribute(item, name, node); } return item; }
RSSFeed* RSS10Parser::parseFeed(xmlNode* node) { BLACKBERRY_ASSERT(node); RSSFeed* feed = new RSSFeed(); for (; node; node = node->next) { String name(reinterpret_cast<const char*>(node->name)); name.makeLower(); parseItemBaseAttribute(feed, name, node); } return feed; }