51 lines
921 B
Go
51 lines
921 B
Go
|
package gokwallet
|
||
|
|
||
|
import (
|
||
|
"github.com/godbus/dbus/v5"
|
||
|
)
|
||
|
|
||
|
/*
|
||
|
NewWalletManager returns a WalletManager.
|
||
|
If appId is empty/nil, DefaultAppID will be used as the app ID.
|
||
|
If appId is specified, only the first string is used.
|
||
|
*/
|
||
|
func NewWalletManager(appID ...string) (wm *WalletManager, err error) {
|
||
|
|
||
|
var realAppID string
|
||
|
|
||
|
if appID != nil && len(appID) > 0 {
|
||
|
realAppID = appID[0]
|
||
|
} else {
|
||
|
realAppID = DefaultAppID
|
||
|
}
|
||
|
|
||
|
wm = &WalletManager{
|
||
|
DbusObject: &DbusObject{
|
||
|
Conn: nil,
|
||
|
Dbus: nil,
|
||
|
},
|
||
|
AppID: realAppID,
|
||
|
Wallets: make(map[string]*Wallet),
|
||
|
}
|
||
|
|
||
|
if wm.DbusObject.Conn, err = dbus.SessionBus(); err != nil {
|
||
|
return
|
||
|
}
|
||
|
wm.DbusObject.Dbus = wm.DbusObject.Conn.Object(DbusService, dbus.ObjectPath(DbusPath))
|
||
|
|
||
|
return
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
Update fetches/updates all Wallet objects in a WalletManager.
|
||
|
*/
|
||
|
func (wm *WalletManager) Update() (err error) {
|
||
|
|
||
|
var wallets []*Wallet
|
||
|
|
||
|
// TODO.
|
||
|
_ = wallets
|
||
|
|
||
|
return
|
||
|
}
|