Merge pull request 'ACNRestart API and Auto Re-listen on Tor Setup' (#24) from acn into trunk
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
Reviewed-on: #24
This commit is contained in:
commit
154ba4610d
6
go.mod
6
go.mod
|
@ -3,7 +3,7 @@ module git.openprivacy.ca/flutter/libcwtch-go
|
|||
go 1.15
|
||||
|
||||
require (
|
||||
cwtch.im/cwtch v0.6.5
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.0
|
||||
cwtch.im/cwtch v0.6.6
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.2
|
||||
git.openprivacy.ca/openprivacy/log v1.0.2
|
||||
)
|
||||
)
|
10
go.sum
10
go.sum
|
@ -12,10 +12,16 @@ cwtch.im/cwtch v0.6.4 h1:7P7+c7pBw2/aGE1cVWWLlLWhkVrGwuhQomIRbWB840E=
|
|||
cwtch.im/cwtch v0.6.4/go.mod h1:snHZIZwRQPAZG2LRZsN5SpAIbeR597VJoDS+KHm7q9w=
|
||||
cwtch.im/cwtch v0.6.5 h1:s2sTn7rmHzAEGYje/oWv2AvM58++x7WNauC9GxyTtho=
|
||||
cwtch.im/cwtch v0.6.5/go.mod h1:YnNbfZlOhEWXEEZvWpWr1G+KhuwODZkSSmdqg2/8lOI=
|
||||
cwtch.im/cwtch v0.6.6 h1:GlEoAYfastcimhYsctLSbqql0RNz9t1jphAxTcCvu0M=
|
||||
cwtch.im/cwtch v0.6.6/go.mod h1:KDy4lWWxcYAjeKclwVFkoTQ2dWnZcM0k3Xck+zEuBmE=
|
||||
cwtch.im/tapir v0.2.1 h1:t1YJB9q5sV1A9xwiiwL6WVfw3dwQWLoecunuzT1PQtw=
|
||||
cwtch.im/tapir v0.2.1/go.mod h1:xzzZ28adyUXNkYL1YodcHsAiTt3IJ8Loc29YVn9mIEQ=
|
||||
git.openprivacy.ca/cwtch.im/tapir v0.3.2 h1:thLWqqY1LkirWFcy9Tg6NgWeYbvo9xBm+s2XVnCIvpY=
|
||||
git.openprivacy.ca/cwtch.im/tapir v0.3.2/go.mod h1:q6RMI/TQvRN8SCtRY3GryOawMcB0uG6NjP6M77oSMx8=
|
||||
git.openprivacy.ca/cwtch.im/tapir v0.3.3 h1:Q7F8JijgOMMYSy3IdZl7+r6qkWckEWV1+EY7q6MAkVs=
|
||||
git.openprivacy.ca/cwtch.im/tapir v0.3.3/go.mod h1:ZMg9Jzh0n3Os2aSF4z+bx/n8WBCJBN7KCQESXperYts=
|
||||
git.openprivacy.ca/cwtch.im/tapir v0.3.4 h1:g7yZkfz/vWr/t2tFXa/t0Ebr/w665uIKpxpCZ3lIPCo=
|
||||
git.openprivacy.ca/cwtch.im/tapir v0.3.4/go.mod h1:+Niy2AHhQC351ZTtfhC0uLjViCICyOxCJZsIlGKKNAU=
|
||||
git.openprivacy.ca/openprivacy/bine v0.0.4 h1:CO7EkGyz+jegZ4ap8g5NWRuDHA/56KKvGySR6OBPW+c=
|
||||
git.openprivacy.ca/openprivacy/bine v0.0.4/go.mod h1:13ZqhKyqakDsN/ZkQkIGNULsmLyqtXc46XBcnuXm/mU=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.2.0/go.mod h1:B7vzuVmChJtSKoh0ezph5vu6DQ0gIk0zHUNG6IgXCcA=
|
||||
|
@ -23,6 +29,10 @@ git.openprivacy.ca/openprivacy/connectivity v1.3.3 h1:OKHZ/pzY95+UNOhF74DisSYPh7
|
|||
git.openprivacy.ca/openprivacy/connectivity v1.3.3/go.mod h1:DL9QitHjpyNspMUe3wjIej9gFgDK2FdRKP2JE4+7T90=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.0 h1:c7AANUCrlA4hIqXxIGDOWMtSe8CpDleD1877PShScbM=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.0/go.mod h1:bR0Myx9nm2YzWtsThRelkNMV4Pp7sPDa123O1qsAbVo=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.1 h1:zoM+j7PFj8mQeUCNiDNMe7Uq9dhcJDOhaZcSANfeDL4=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.1/go.mod h1:bR0Myx9nm2YzWtsThRelkNMV4Pp7sPDa123O1qsAbVo=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.2 h1:rQFIjWunLlRmXL5Efsv+7+1cA70T6Uza6RCy2PRm9zc=
|
||||
git.openprivacy.ca/openprivacy/connectivity v1.4.2/go.mod h1:bR0Myx9nm2YzWtsThRelkNMV4Pp7sPDa123O1qsAbVo=
|
||||
git.openprivacy.ca/openprivacy/log v1.0.0/go.mod h1:gGYK8xHtndRLDymFtmjkG26GaMQNgyhioNS82m812Iw=
|
||||
git.openprivacy.ca/openprivacy/log v1.0.1/go.mod h1:gGYK8xHtndRLDymFtmjkG26GaMQNgyhioNS82m812Iw=
|
||||
git.openprivacy.ca/openprivacy/log v1.0.2 h1:HLP4wsw4ljczFAelYnbObIs821z+jgMPCe8uODPnGQM=
|
||||
|
|
14
lib.go
14
lib.go
|
@ -11,6 +11,7 @@ import (
|
|||
"cwtch.im/cwtch/model/attr"
|
||||
"cwtch.im/cwtch/peer"
|
||||
contact "git.openprivacy.ca/flutter/libcwtch-go/features/contacts"
|
||||
"git.openprivacy.ca/openprivacy/connectivity"
|
||||
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
@ -31,6 +32,7 @@ var application app.Application
|
|||
var eventHandler *utils.EventHandler
|
||||
var acnQueue event.Queue
|
||||
var contactEventsQueue event.Queue
|
||||
var globalACN connectivity.ACN
|
||||
|
||||
//export c_StartCwtch
|
||||
func c_StartCwtch(dir_c *C.char, len C.int, tor_c *C.char, torLen C.int) {
|
||||
|
@ -68,7 +70,7 @@ func StartCwtch(appDir string, torPath string) {
|
|||
log.Errorf("\nError connecting to Tor: %v\n", err)
|
||||
}
|
||||
//acn.WaitTillBootstrapped()
|
||||
|
||||
globalACN = acn
|
||||
newApp := app.NewApp(acn, appDir)
|
||||
acnQueue = event.NewQueue()
|
||||
newApp.GetPrimaryBus().Subscribe(event.ACNStatus, acnQueue)
|
||||
|
@ -90,6 +92,7 @@ func StartCwtch(appDir string, torPath string) {
|
|||
event.NewRetValMessageFromPeer,
|
||||
event.NewGroupInvite,
|
||||
event.ServerStateChange,
|
||||
event.ProtocolEngineStopped,
|
||||
}
|
||||
settings := utils.ReadGlobalSettings()
|
||||
settingsJson, _ := json.Marshal(settings)
|
||||
|
@ -442,5 +445,14 @@ func SendMessage(profile, handle, msg string) {
|
|||
application.GetPeer(profile).SendMessageToPeer(handle, msg)
|
||||
}
|
||||
|
||||
//export c_ResetTor
|
||||
func c_ResetTor() {
|
||||
ResetTor()
|
||||
}
|
||||
|
||||
func ResetTor() {
|
||||
globalACN.Restart()
|
||||
}
|
||||
|
||||
// Leave as is, needed by ffi
|
||||
func main() {}
|
||||
|
|
|
@ -54,6 +54,14 @@ func (eh *EventHandler) GetNextEvent() string {
|
|||
func (eh *EventHandler) handleAppBusEvent(e *event.Event) string {
|
||||
log.Debugf("New AppBus Event to Handle: %v", e)
|
||||
switch e.EventType {
|
||||
case event.ACNStatus:
|
||||
if e.Data[event.Progress] == "100" {
|
||||
for onion := range eh.app.ListPeers() {
|
||||
// launch a listen thread (internally this does a check that the protocol engine is not listening)
|
||||
// and as such is safe to call.
|
||||
eh.app.GetPeer(onion).Listen()
|
||||
}
|
||||
}
|
||||
case event.NewPeer:
|
||||
onion := e.Data[event.Identity]
|
||||
profile := eh.app.GetPeer(e.Data[event.Identity])
|
||||
|
|
Loading…
Reference in New Issue