android

package
v0.0.0-...-93fed14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2024 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auth

type Auth struct {
	// contains filtered or unexported fields
}

Auth can register or login new client

func NewAuth

func NewAuth(cfgPath string, mgmURL string) (*Auth, error)

NewAuth instantiate Auth struct and validate the management URL

func NewAuthWithConfig

func NewAuthWithConfig(ctx context.Context, config *internal.Config) *Auth

NewAuthWithConfig instantiate Auth based on existing config

func (*Auth) Login

func (a *Auth) Login(resultListener ErrListener, urlOpener URLOpener)

Login try register the client on the server

func (*Auth) LoginWithSetupKeyAndSaveConfig

func (a *Auth) LoginWithSetupKeyAndSaveConfig(resultListener ErrListener, setupKey string, deviceName string)

LoginWithSetupKeyAndSaveConfig test the connectivity with the management server with the setup key.

func (*Auth) SaveConfigIfSSOSupported

func (a *Auth) SaveConfigIfSSOSupported(listener SSOListener)

SaveConfigIfSSOSupported test the connectivity with the management server by retrieving the server device flow info. If it returns a flow info than save the configuration and return true. If it gets a codes.NotFound, it means that SSO is not supported and returns false without saving the configuration. For other errors return false.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client struct manage the life circle of background service

func NewClient

func NewClient(cfgFile, deviceName string, tunAdapter TunAdapter, iFaceDiscover IFaceDiscover, networkChangeListener NetworkChangeListener) *Client

NewClient instantiate a new Client

func (*Client) OnUpdatedHostDNS

func (c *Client) OnUpdatedHostDNS(list *DNSList) error

OnUpdatedHostDNS update the DNS servers addresses for root zones

func (*Client) PeersList

func (c *Client) PeersList() *PeerInfoArray

PeersList return with the list of the PeerInfos

func (*Client) RemoveConnectionListener

func (c *Client) RemoveConnectionListener()

RemoveConnectionListener remove connection listener

func (*Client) Run

func (c *Client) Run(urlOpener URLOpener, dns *DNSList, dnsReadyListener DnsReadyListener) error

Run start the internal client. It is a blocker function

func (*Client) RunWithoutLogin

func (c *Client) RunWithoutLogin(dns *DNSList, dnsReadyListener DnsReadyListener) error

RunWithoutLogin we apply this type of run function when the backed has been started without UI (i.e. after reboot). In this case make no sense handle registration steps.

func (*Client) SetConnectionListener

func (c *Client) SetConnectionListener(listener ConnectionListener)

SetConnectionListener set the network connection listener

func (*Client) SetTraceLogLevel

func (c *Client) SetTraceLogLevel()

SetTraceLogLevel configure the logger to trace level

func (*Client) Stop

func (c *Client) Stop()

Stop the internal client and free the resources

type ConnectionListener

type ConnectionListener interface {
	peer.Listener
}

ConnectionListener export internal Listener for mobile

type DNSList

type DNSList struct {
	// contains filtered or unexported fields
}

DNSList is a wrapper of []string

func (*DNSList) Add

func (array *DNSList) Add(s string)

Add new DNS address to the collection

func (*DNSList) Get

func (array *DNSList) Get(i int) (string, error)

Get return an element of the collection

func (*DNSList) Size

func (array *DNSList) Size() int

Size return with the size of the collection

type DnsReadyListener

type DnsReadyListener interface {
	dns.ReadyListener
}

DnsReadyListener export internal dns ReadyListener for mobile

type ErrListener

type ErrListener interface {
	OnSuccess()
	OnError(error)
}

ErrListener is async listener for mobile framework

type IFaceDiscover

type IFaceDiscover interface {
	stdnet.ExternalIFaceDiscover
}

IFaceDiscover export internal IFaceDiscover for mobile

type NetworkChangeListener

type NetworkChangeListener interface {
	listener.NetworkChangeListener
}

NetworkChangeListener export internal NetworkChangeListener for mobile

type PeerInfo

type PeerInfo struct {
	IP         string
	FQDN       string
	ConnStatus string // Todo replace to enum
}

PeerInfo describe information about the peers. It designed for the UI usage

type PeerInfoArray

type PeerInfoArray struct {
	// contains filtered or unexported fields
}

PeerInfoArray is the implementation of the PeerInfoCollection

func (PeerInfoArray) Add

func (array PeerInfoArray) Add(s PeerInfo) PeerInfoArray

Add new PeerInfo to the collection

func (PeerInfoArray) Get

func (array PeerInfoArray) Get(i int) *PeerInfo

Get return an element of the collection

func (PeerInfoArray) Size

func (array PeerInfoArray) Size() int

Size return with the size of the collection

type PeerInfoCollection

type PeerInfoCollection interface {
	Add(s string) PeerInfoCollection
	Get(i int) string
	Size() int
}

PeerInfoCollection made for Java layer to get non default types as collection

type Preferences

type Preferences struct {
	// contains filtered or unexported fields
}

Preferences export a subset of the internal config for gomobile

func NewPreferences

func NewPreferences(configPath string) *Preferences

NewPreferences create new Preferences instance

func (*Preferences) Commit

func (p *Preferences) Commit() error

Commit write out the changes into config file

func (*Preferences) GetAdminURL

func (p *Preferences) GetAdminURL() (string, error)

GetAdminURL read url from config file

func (*Preferences) GetManagementURL

func (p *Preferences) GetManagementURL() (string, error)

GetManagementURL read url from config file

func (*Preferences) GetPreSharedKey

func (p *Preferences) GetPreSharedKey() (string, error)

GetPreSharedKey read preshared key from config file

func (*Preferences) SetAdminURL

func (p *Preferences) SetAdminURL(url string)

SetAdminURL store the given url and wait for commit

func (*Preferences) SetManagementURL

func (p *Preferences) SetManagementURL(url string)

SetManagementURL store the given url and wait for commit

func (*Preferences) SetPreSharedKey

func (p *Preferences) SetPreSharedKey(key string)

SetPreSharedKey store the given key and wait for commit

type SSOListener

type SSOListener interface {
	OnSuccess(bool)
	OnError(error)
}

SSOListener is async listener for mobile framework

type TunAdapter

type TunAdapter interface {
	iface.TunAdapter
}

TunAdapter export internal TunAdapter for mobile

type URLOpener

type URLOpener interface {
	Open(string)
}

URLOpener it is a callback interface. The Open function will be triggered if the backend want to show an url for the user

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL