1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package nmcli
- import (
- "AudioPlayer/nmcli/model"
- "context"
- nmcli_go "github.com/KunMengcode/nmcli-go"
- "github.com/KunMengcode/nmcli-go/device"
- "net/rpc"
- )
- type DeviceInterface interface {
- Status(Request model.EmptyRequest, Reply *[]device.Status) error
- register() error
- }
- type Device struct {
- nmcli *nmcli_go.NMCli
- }
- func NewDevice(nmcli *nmcli_go.NMCli) DeviceInterface {
- return &Device{nmcli: nmcli}
- }
- func (receiver *Device) Status(Request model.EmptyRequest, Reply *[]device.Status) (err error) {
- var State []device.Status
- var FiltrationState []device.Status
- State, err = receiver.nmcli.Device.Status(context.Background())
- for _, v := range State {
- if v.Device == "lo" {
- continue
- }
- FiltrationState = append(FiltrationState, v)
- }
- *Reply = FiltrationState
- if err != nil {
- return err
- }
- return nil
- }
- func (receiver *Device) register() error {
- return rpc.RegisterName("NetworkManager.Device", receiver)
- }
|