aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/mist
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-03-09 20:50:05 +0800
committerobscuren <geffobscura@gmail.com>2015-03-09 20:50:05 +0800
commit20741a96ac6dc824bcc7d67e7c966fa65cbb2faf (patch)
treebf72d48cca05c1847043b450ff04e92368af8a36 /cmd/mist
parent738d6e20f2a229aab15b767cb8ca2d2f9c2f9aa8 (diff)
downloaddexon-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.gz
dexon-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.zst
dexon-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.zip
Updated xeth instances to take extra param for ui.Interface
Please be aware that if any of the instances on xeth.frontend are called the program will crash due to the default, temporarily, frontend interface.
Diffstat (limited to 'cmd/mist')
-rw-r--r--cmd/mist/ext_app.go117
-rw-r--r--cmd/mist/gui.go2
-rw-r--r--cmd/mist/ui_lib.go20
3 files changed, 2 insertions, 137 deletions
diff --git a/cmd/mist/ext_app.go b/cmd/mist/ext_app.go
deleted file mode 100644
index 84041a553..000000000
--- a/cmd/mist/ext_app.go
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- This file is part of go-ethereum
-
- go-ethereum is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- go-ethereum is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
-*/
-/**
- * @authors
- * Jeffrey Wilcke <i@jev.io>
- */
-package main
-
-import (
- "github.com/ethereum/go-ethereum/core"
- "github.com/ethereum/go-ethereum/core/types"
- "github.com/ethereum/go-ethereum/event"
- "github.com/ethereum/go-ethereum/xeth"
- "github.com/obscuren/qml"
-)
-
-type AppContainer interface {
- Create() error
- Destroy()
-
- Window() *qml.Window
- Engine() *qml.Engine
-
- NewBlock(*types.Block)
- NewWatcher(chan bool)
- Post(string, int)
-}
-
-type ExtApplication struct {
- *xeth.XEth
- eth core.Backend
-
- events event.Subscription
- watcherQuitChan chan bool
-
- filters map[string]*core.Filter
-
- container AppContainer
- lib *UiLib
-}
-
-func NewExtApplication(container AppContainer, lib *UiLib) *ExtApplication {
- return &ExtApplication{
- XEth: xeth.New(lib.eth),
- eth: lib.eth,
- watcherQuitChan: make(chan bool),
- filters: make(map[string]*core.Filter),
- container: container,
- lib: lib,
- }
-}
-
-func (app *ExtApplication) run() {
- // Set the "eth" api on to the containers context
- context := app.container.Engine().Context()
- context.SetVar("eth", app)
- context.SetVar("ui", app.lib)
-
- err := app.container.Create()
- if err != nil {
- guilogger.Errorln(err)
- return
- }
-
- // Call the main loop
- go app.mainLoop()
-
- app.container.NewWatcher(app.watcherQuitChan)
-
- win := app.container.Window()
- win.Show()
- win.Wait()
-
- app.stop()
-}
-
-func (app *ExtApplication) stop() {
- app.events.Unsubscribe()
-
- // Kill the main loop
- app.watcherQuitChan <- true
-
- app.container.Destroy()
-}
-
-func (app *ExtApplication) mainLoop() {
- for ev := range app.events.Chan() {
- switch ev := ev.(type) {
- case core.NewBlockEvent:
- app.container.NewBlock(ev.Block)
-
- /* TODO remove
- case state.Messages:
- for id, filter := range app.filters {
- msgs := filter.FilterMessages(ev)
- if len(msgs) > 0 {
- app.container.Messages(msgs, id)
- }
- }
- */
- }
- }
-}
diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go
index 869b689dd..53ca35574 100644
--- a/cmd/mist/gui.go
+++ b/cmd/mist/gui.go
@@ -88,7 +88,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, session st
panic(err)
}
- xeth := xeth.New(ethereum)
+ xeth := xeth.New(ethereum, nil)
gui := &Gui{eth: ethereum,
txDb: db,
xeth: xeth,
diff --git a/cmd/mist/ui_lib.go b/cmd/mist/ui_lib.go
index 098e8fca5..187d5b2d6 100644
--- a/cmd/mist/ui_lib.go
+++ b/cmd/mist/ui_lib.go
@@ -58,7 +58,7 @@ type UiLib struct {
}
func NewUiLib(engine *qml.Engine, eth *eth.Ethereum, assetPath string) *UiLib {
- x := xeth.New(eth)
+ x := xeth.New(eth, nil)
lib := &UiLib{XEth: x, engine: engine, eth: eth, assetPath: assetPath, jsEngine: javascript.NewJSRE(x), filterCallbacks: make(map[int][]int)} //, filters: make(map[int]*xeth.JSFilter)}
lib.filterManager = filter.NewFilterManager(eth.EventMux())
go lib.filterManager.Start()
@@ -91,24 +91,6 @@ func (self *UiLib) EvalJavascriptString(str string) string {
return fmt.Sprintf("%v", value)
}
-func (ui *UiLib) OpenQml(path string) {
- container := NewQmlApplication(path[7:], ui)
- app := NewExtApplication(container, ui)
-
- go app.run()
-}
-
-func (ui *UiLib) OpenHtml(path string) {
- container := NewHtmlApplication(path, ui)
- app := NewExtApplication(container, ui)
-
- go app.run()
-}
-
-func (ui *UiLib) OpenBrowser() {
- ui.OpenHtml("file://" + ui.AssetPath("ext/home.html"))
-}
-
func (ui *UiLib) Muted(content string) {
component, err := ui.engine.LoadFile(ui.AssetPath("qml/muted.qml"))
if err != nil {