コード例 #1
0
    def __init__(self, session):
        Screen.__init__(self, session)

        self.vbcallback = None
        self.vbhandler = VBHandler(session)
        self.vbserver = VBServerThread()
        self.vbserver.open(1)
        self.vbserver.start()

        # comment for dev
        self.restart_browser()
        vbcfg.LOG("browser start")

        self._timer_infobar = eTimer()
        self._timer_infobar.callback.append(self._cb_register_infobar)
        self._timer_infobar.start(1000)

        self._event = ServiceEventTracker(screen=self,
                                          eventmap={
                                              iPlayableService.evHBBTVInfo:
                                              self._cb_ait_detected,
                                              iPlayableService.evUpdatedInfo:
                                              self._cb_info_updated
                                          })
        self._applicationList = None
        self._app_info = None

        try:
            from Screens.InfoBarGenerics import gHbbtvApplication
            self.m_vuplus = gHbbtvApplication.getUseAit()
        except:
            self.m_vuplus = False
コード例 #2
0
	def _cb_stop_browser(self):
		self._close_timer.stop()

		try:
			if self._cb_set_title in vbcfg.g_main.vbhandler.onSetTitleCB:
				vbcfg.g_main.vbhandler.onSetTitleCB.remove(self._cb_set_title)
		except Exception:
			pass

		try:
			if self._cb_close_window in vbcfg.g_main.vbhandler.onCloseCB:
				vbcfg.g_main.vbhandler.onCloseCB.remove(self._cb_close_window)
		except Exception:
			pass

		self.toggle_top()

		from enigma import gMainDC
		gMainDC.getInstance().setResolution(self.WIDTH, self.HEIGHT)
		vbcfg.setPosition(vbcfg.g_position)

		fbClass.getInstance().unlock()
		eRCInput.getInstance().unlock()
		getDesktop(0).paint()
		self.is_browser_opened = False

		vbcfg.LOG("Stop Browser")
		self.setTitle(_("BrowserMain"))
		if self.m_url is not None:
			self.keyCancel()
			if vbcfg.g_service:
				self.session.nav.playService(vbcfg.g_service)
		else:
			self.keyRight()
			self.keyLeft()
コード例 #3
0
	def stop_hbbtv_application(self):
		self._close_timer.stop()
		self._close_timer = None

		try:
			if self._cb_set_title in vbcfg.g_main.vbhandler.onSetTitleCB:
				vbcfg.g_main.vbhandler.onSetTitleCB.remove(self._cb_set_title)
		except Exception:
			pass

		try:
			if self._cb_close_window in vbcfg.g_main.vbhandler.onCloseCB:
				vbcfg.g_main.vbhandler.onCloseCB.remove(self._cb_close_window)
		except Exception:
			pass

		from enigma import getDesktop, gMainDC
		dsk = getDesktop(0)
		desktop_size = dsk.size()
		gMainDC.getInstance().setResolution(desktop_size.width(), desktop_size.height())

		vbcfg.setPosition(vbcfg.g_position)
		fbClass.getInstance().unlock()
		eRCInput.getInstance().unlock()
		dsk.paint()

		vbcfg.LOG("Stop HbbTV")
		self.close()
コード例 #4
0
	def start_hbbtv_application(self):
		vbcfg.g_main.vbhandler.soft_volume = -1
		self.setTitle(_('HbbTV Plugin'))
		vbcfg.LOG("Starting HbbTV")

		vbcfg.DEBUG("url : %s" % self._url and self._url)
		vbcfg.DEBUG("info: %s" % self._info and self._info)

		if self._info and self._info["control"] == 1 and vbcfg.g_channel_info is not None:
			(sid, onid, tsid, name) = vbcfg.g_channel_info
			params = struct.pack('iiiiii', 0, self._info["orgid"], sid, onid, tsid, 0) + vbcfg.g_channel_info[3]
			ret = VBController.command('HBBTV_LOADAIT', params)
		else:
			ret = VBController.command('HBBTV_OPENURL', self._url)

		if ret is False:
			self._close_timer.start(1000)
			vbcfg.ERR("Failed to start hbbtv")
コード例 #5
0
	def layoutFinished(self):
		self["menuitemFile"].setText(_("File"))
		self["menuitemTool"].setText(_("Tools"))
		self["menuitemHelp"].setText(_("Help"))

		self["menulist"].hide()
		self["submenulist"].hide()

		self["bottomArea"].setText(_("Opera Web Browser Plugin v2.0"))
		self.setTitle(_("BrowserMain"))
		self.set_menu_item()
		vbcfg.LOG("Starting Browser")

		if self.m_url is not None:
			self.keyMenu()
			if self.m_webapp:
				self._cb_start_browser(self.m_url, 1, 'YOUTUBETV_OPENURL')
			else:
				self._cb_start_browser(self.m_url, 1)
コード例 #6
0
	def _cb_start_browser(self, data=None, mode=0, opcode='BROWSER_OPENURL'):
		if not vbcfg.g_main.check_browser():
			if self.m_url is not None:
				if vbcfg.g_service:
					self.session.nav.playService(vbcfg.g_service)
			return
		vbcfg.LOG("open url: %s %d" % (data, mode))
		if strIsEmpty(data):
			return

		try:
			if self._cb_set_title not in vbcfg.g_main.vbhandler.onSetTitleCB:
				vbcfg.g_main.vbhandler.onSetTitleCB.append(self._cb_set_title)
		except Exception:
			pass

		try:
			if self._cb_close_window not in vbcfg.g_main.vbhandler.onCloseCB:
				vbcfg.g_main.vbhandler.onCloseCB.append(self._cb_close_window)
		except Exception:
			pass

		vbcfg.g_position = vbcfg.getPosition()
		fbClass.getInstance().lock()
		eRCInput.getInstance().lock()

		self.toggle_top()
		ret = VBController.command(opcode, data)
		self._current_url = data
		if ret:
			self.is_browser_opened = True
		else:
			self.is_browser_opened = False
			vbcfg.ERR("Failed to open url: %s" % data)

		vbcfg.g_main.vbhandler.soft_volume = -1
コード例 #7
0
	def _cb_set_title(self, title=None):
		vbcfg.LOG("page title: %s" % title)
		if title is None:
			return
		self.setTitle(title)