aboutsummaryrefslogtreecommitdiffstats
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
parent738d6e20f2a229aab15b767cb8ca2d2f9c2f9aa8 (diff)
downloadgo-tangerine-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar
go-tangerine-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.gz
go-tangerine-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.bz2
go-tangerine-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.lz
go-tangerine-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.xz
go-tangerine-20741a96ac6dc824bcc7d67e7c966fa65cbb2faf.tar.zst
go-tangerine-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.
-rw-r--r--cmd/ethereum/js.go4
-rw-r--r--cmd/mist/ext_app.go117
-rw-r--r--cmd/mist/gui.go2
-rw-r--r--cmd/mist/ui_lib.go20
-rw-r--r--cmd/utils/cmd.go2
-rw-r--r--rpc/api.go13
6 files changed, 5 insertions, 153 deletions
diff --git a/cmd/ethereum/js.go b/cmd/ethereum/js.go
index d5cf62146..e3165d3f5 100644
--- a/cmd/ethereum/js.go
+++ b/cmd/ethereum/js.go
@@ -46,7 +46,7 @@ func execJsFile(ethereum *eth.Ethereum, filename string) {
if err != nil {
utils.Fatalf("%v", err)
}
- re := javascript.NewJSRE(xeth.New(ethereum))
+ re := javascript.NewJSRE(xeth.New(ethereum, nil))
if _, err := re.Run(string(content)); err != nil {
utils.Fatalf("Javascript Error: %v", err)
}
@@ -61,7 +61,7 @@ type repl struct {
}
func runREPL(ethereum *eth.Ethereum) {
- xeth := xeth.New(ethereum)
+ xeth := xeth.New(ethereum, nil)
repl := &repl{
re: javascript.NewJSRE(xeth),
xeth: xeth,
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 {
diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go
index 99e60ff9e..a77c6ad4d 100644
--- a/cmd/utils/cmd.go
+++ b/cmd/utils/cmd.go
@@ -167,7 +167,7 @@ func KeyTasks(keyManager *crypto.KeyManager, KeyRing string, GenAddr bool, Secre
func StartRpc(ethereum *eth.Ethereum, RpcListenAddress string, RpcPort int) {
var err error
- ethereum.RpcServer, err = rpchttp.NewRpcHttpServer(xeth.New(ethereum), RpcListenAddress, RpcPort)
+ ethereum.RpcServer, err = rpchttp.NewRpcHttpServer(xeth.New(ethereum, nil), RpcListenAddress, RpcPort)
if err != nil {
clilogger.Errorf("Could not start RPC interface (port %v): %v", RpcPort, err)
} else {
diff --git a/rpc/api.go b/rpc/api.go
index ae1e1504f..70a8cf9b4 100644
--- a/rpc/api.go
+++ b/rpc/api.go
@@ -9,7 +9,6 @@ For each request type, define the following:
package rpc
import (
- "fmt"
"math/big"
"strings"
"sync"
@@ -23,7 +22,6 @@ import (
"github.com/ethereum/go-ethereum/event"
"github.com/ethereum/go-ethereum/event/filter"
"github.com/ethereum/go-ethereum/state"
- "github.com/ethereum/go-ethereum/ui"
"github.com/ethereum/go-ethereum/xeth"
)
@@ -721,14 +719,3 @@ func (self *EthereumApi) useState(statedb *state.StateDB) {
self.eth = self.eth.UseState(statedb)
}
-
-func t(f ui.Frontend) {
- // Call the password dialog
- ret, err := f.Call("PasswordDialog")
- if err != nil {
- fmt.Println(err)
- }
- // Get the first argument
- t, _ := ret.Get(0)
- fmt.Println("return:", t)
-}